字句構造

  • 予約語
    • 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]+)?
      
  • 文字列
    • 表記法
      • 文字列は " で囲まれた任意長のバイト列になります。
    • エスケープ
      • 文字列内では、以下のエスケープが使用できます。
        \r0x0d(CR)
        \n0x0a(LF)
        \t0x09(タブ文字)
    • 式展開
        • 文字列内では、%(式,整形オプション)という形式で式を埋め込むことができます。
        • 式には、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コード値を表現することができます。
    • インタプリタ内部では数値として扱われます。
  • コメント
    • 行内の # から行末まではコメントとして扱われます。