= リテラル
== 定数名
アルファベット大文字(A-Z)で始まり、その後にアルファベット大文字、数字、'_'(アンダーバー)のいずれかの文字が0回以上繰り返される文字列は、定数名とみなされます。
{{{
[A-Z][A-Z0-9_]*
}}}
== クラス名
アルファベット大文字で始まり、その後にアルファベット、数字、'_'のいずれかの文字が1回以上繰り返される文字列は、クラス名とみなされます。
{{{
[A-Z][A-Za-z0-9_]+
}}}
また、組み込みのクラスとして
* int
* float
* bool
があります。
== 識別子
アルファベット小文字もしくは'_'で始まり、その後にアルファベット、数字、'_'のいずれかの文字が0回以上繰り返される文字列は、識別子になります。[[br]]
変数名、メソッド名などに使用できます。[[br]]
また、最後に'?'を付けることもできます。その場合は、先頭に'is_'を付けたものと同義になります。[[br]]
つまり、'match?'と'is_match'は同じ識別子になります。
{{{
[a-z_][A-Za-z0-9_]*'?'?
}}}
== 数値
=== 整数(int)
数値(0-9)の1回以上の繰り返しは整数値とみなされます。
{{{
[0-9]+
}}}
=== 小数(float)
数値'.'数値の記述は、小数とみなされます。
{{{
[0-9]+'.'[0-9]+
}}}
=== ラジアン(Radian)
整数もしくは小数の後ろに続けて'r'を書くと、ラジアンとみなされます。
{{{
[0-9]+('.'[0-9]+)?r
}}}
== 真偽値(bool)
'true'及び'false'は、それぞれ真、偽を表します。