コンテンツにスキップ

字句とリテラル

書き方説明
1L / 1U / 1UL整数の接尾辞
1.5f / 1.5d / 1.5m小数の接尾辞
0xFF / 0b101016進と2進の表記
1_000_000桁の区切り
'\n' / '\u0041'文字のエスケープ
"a\tb\"c"文字列のエスケープ
@"a\b"逐語的文字列リテラル
int 値 = 1;日本語の識別子
int @class = 1;予約語と同じ識別子
// と /* */コメント
using UnityEngine;
using Tsukimi;
public class LexIntegerSuffix : TsukimiBehaviour
{
void Start()
{
long a = 1L;
uint b = 1U;
ulong c = 1UL;
Debug.Log(a + b + (long)c); // => 3
}
}
using UnityEngine;
using Tsukimi;
public class LexFloatSuffix : TsukimiBehaviour
{
void Start()
{
float a = 1.5f;
double b = 1.5d;
decimal c = 1.5m;
Debug.Log(a + b + (double)c); // => 4.5
}
}
using UnityEngine;
using Tsukimi;
public class LexHexAndBinary : TsukimiBehaviour
{
void Start()
{
int a = 0xFF;
int b = 0b1010;
Debug.Log(a + b); // => 265
}
}
using UnityEngine;
using Tsukimi;
public class LexDigitSeparator : TsukimiBehaviour
{
void Start()
{
int a = 1_000_000;
Debug.Log(a); // => 1000000
}
}
using UnityEngine;
using Tsukimi;
public class LexCharEscape : TsukimiBehaviour
{
void Start()
{
char a = '\n';
char b = '\u0041';
Debug.Log(a + b); // => 75
}
}
using UnityEngine;
using Tsukimi;
public class LexStringEscape : TsukimiBehaviour
{
void Start()
{
string s = "a\tb\"c";
Debug.Log(s); // => "a\tb"c"
}
}
using UnityEngine;
using Tsukimi;
public class LexVerbatimString : TsukimiBehaviour
{
void Start()
{
string s = @"a\b";
Debug.Log(s); // => "a\\b"
}
}
using UnityEngine;
using Tsukimi;
public class LexUnicodeIdentifier : TsukimiBehaviour
{
void Start()
{
int= 1;
Debug.Log(値); // => 1
}
}
using UnityEngine;
using Tsukimi;
public class LexKeywordIdentifier : TsukimiBehaviour
{
void Start()
{
int @class = 1;
Debug.Log(@class); // => 1
}
}

// は行末まで、/* */*/ までがコメントです。入れ子にはできません——最初の */ で閉じるので、その後ろが式として読まれます。

using UnityEngine;
using Tsukimi;
public class LexComment : TsukimiBehaviour
{
void Start()
{
// 行のコメント
/* 塊のコメント */
Debug.Log(1); // => 1
}
}