본문으로 건너뛰기

적을 수 있는 타입

시트가 코드가 되는 모습으로


:type 칸에 적을 수 있는 스칼라를 한 테이블에 모았습니다. 타입은 한 칸에 하나씩 적습니다 — 타입과 세부 타입을 두 줄에 나눠 적던 자리가 없습니다.

int · bigint · float · double · bool · string · datetime · timespan · uuid 아홉입니다.

테이블 Sample

[System.Serializable]
public partial class SampleRecord
{
#region Values
/// <summary>
/// primary index
/// </summary>
public int Index => _index;

/// <summary>
/// 64 bit
/// </summary>
public long Count => _count;

/// <summary>
/// 32 bit
/// </summary>
public float Ratio => _ratio;

/// <summary>
/// 64 bit
/// </summary>
public double Precise => _precise;

/// <summary>
/// Y or N
/// </summary>
public bool Enabled => _enabled;

/// <summary>
/// text
/// </summary>
public string Label => _label;

/// <summary>
/// a moment
/// </summary>
public System.DateTime At => _at;

/// <summary>
/// a length
/// </summary>
public System.TimeSpan Span => _span;

/// <summary>
/// an identifier
/// </summary>
public System.Guid Id => _id;
#endregion

#region Storage
internal int _index;
internal long _count;
internal float _ratio;
internal double _precise;
internal bool _enabled;
internal string _label = "";
internal System.DateTime _at;
internal System.TimeSpan _span;
internal System.Guid _id;
#endregion

#region ToString
public override string ToString()
{
var sb = new StringBuilder("{");
sb.Append("\"Index\":"); ToStringHelper.ToString(Index, sb);
sb.Append(",\"Count\":"); ToStringHelper.ToString(Count, sb);
sb.Append(",\"Ratio\":"); ToStringHelper.ToString(Ratio, sb);
sb.Append(",\"Precise\":"); ToStringHelper.ToString(Precise, sb);
sb.Append(",\"Enabled\":"); ToStringHelper.ToString(Enabled, sb);
sb.Append(",\"Label\":"); ToStringHelper.ToString(Label, sb);
sb.Append(",\"At\":"); ToStringHelper.ToString(At, sb);
sb.Append(",\"Span\":"); ToStringHelper.ToString(Span, sb);
sb.Append(",\"Id\":"); ToStringHelper.ToString(Id, sb);
sb.Append("}");
return sb.ToString();
}
#endregion
}

SampleTable.cs

언어마다 폭을 다르게 부릅니다. bigint 하나가 C#에서는 long, C++에서는 int64_t, Rust에서는 i64 입니다 — 값은 같고 부르는 이름만 다릅니다.

datetime · timespan · uuid 는 그 언어에 해당하는 타입이 있으면 그것으로, 없으면 그 언어가 쓰는 표현으로 나옵니다.

빈 칸의 뜻은 타입마다 다릅니다 — 빈 칸의 뜻에 자리별로 정리되어 있습니다.