構文





comment


-- comment WARNING --- これはコメントではない
--[[ cmt ... ]]



日本語対応


Manual では Unicode , UTF8 が対応とのこと. source code が S-JIS, Unicode で記述されていても, そのまま binary 列として渡される. SJIS を利用する場合は, [[日本語]] とすること. ( \ をEscape しない. ) WARNING さらにいうと, 環境に font がない場合もある.


文字code


[ 文字という情報 ]を数値で表現する. それを 文字Code( 符号 ) という string.byte( s, i[, j] ); string.char( s, 1, 3 );


文(Statement)


LuaProgram の実行単位のこと 文の区切りは ; または改行コード
-- 代入文 price = 40 price = 40;



chunk


SYNTAX {stat [';']} 文の集合のこと。 Luaの実行の単位は chunk という Luaはチャンクを、可変個の引数を持つ無名関数の本体として扱う。 チャンクはバイナリ形式のコンパイル済みコードであっても良い 改行code == 空白 var = 40;


ブロック


SYNTAX do block end POINT 明示的なブロックは変数宣言スコープをコントロールするのに便利
do chunk; end
C 同様, 外側の block での宣言した変数は有効になる。
do local j = j or 10; print( j ); do local k = 20; print( j, k ); -- 10 20 end print( j, k ); -- 10 nil end print( j ); -- nil



代入


POINT Luaは多重代入を許している { 左辺: 変数リスト }, { 右辺:式リスト} i, a[i] = i+1, 20 -- 多重代入. ( 先ずすべての式を評価する -> 最後に代入 )