= 字句構造
* 予約語
* MKSCriptの予約語は以下のとおりです。これらの語句はシンボル名として使用できません。
{{{
class this super owner def
return end if then elseif
else while break continue do
nil true false raise try
catch finally block * import module
namespace using include *
* がついているキーワードは十分に検討が行われておらず、今後変更の可能性があるものです。
}}}
* 以下は特殊な意味を持ちます。通常のシンボル名としては使用できません。
{{{
initialize
}}}
* シンボル名
* 変数名や、メソッド名として使用することのできる名称です。
{{{
[a-zA-Z_][0-9a-zA-Z_]*
}}}
* 数値
* 数値の表記には以下の記法が使用できます。
{{{
10進数値 [+|-]?(0|([1-9][0-9]*))
16進数値 0x[0-9a-fA-F]+
小数値 [+|-]?(0|([1-9][0-9]*))(\.[0-9]+)?
}}}
* 文字列
* 表記法
* 文字列は " で囲まれた任意長のバイト列になります。
* エスケープ
* 文字列内では、以下のエスケープが使用できます。
||\r||0x0d(CR)||
||\n||0x0a(LF)||
||\t||0x09(タブ文字)||
* ''式展開''
* 式
* 文字列内では、%(式[,整形オプション])という形式で式を埋め込むことができます。
* 式には、MK Scriptで記載可能な式がそのまま記述できます。
* 式の結果が String もしくはその派生クラスではない場合、to_s() メソッドにより文字列に変換されます。
* 整形オプション
* 整形オプションでは、式内の文字列のフォーマット方法を定義します。
* 整形オプションは2つのパラメータで設定します。
* 最初のパラメータで整形ルールを記述し、次のパラメータで付加情報を指定します。
||第一パラメータ||第二パラメータ||概要||
||left||領域サイズ||式に記載した文字列を、領域サイズ内で左揃えに配置します。対象文字列が領域サイズより長い場合、右が切り詰められます。||
||right||領域サイズ||式に記載した文字列を、領域サイズ内で右揃えに配置します。対象文字列が領域サイズより長い場合、左が切り詰められます。||
||time||繰り返し数||式に記載した文字列を、繰り返し数に記載した数だけ繰り返し出力します。繰り返し数の回数にかかわらず、式の内容は最初に1度だけ評価されます。尚、繰り返し数が1未満の場合、出力は行われませんが、この場合も式の評価は行われます。||
{{{
x = 1
Conole << "x=%(x, right, 3)\n" # => x= 1
Console << "x=%(x, time, 3)\n" # => x=111
Console << "x=%( "%(x, time, 3) ", time, 2 )\n" # => x=111 111
}}}
* 文字
* ASCII文字を ' で囲むことによって、文字のASCIIコード値を表現することができます。
* インタプリタ内部では数値として扱われます。
* コメント
* 行内の # から行末まではコメントとして扱われます。