【Lua】基本処理
Luaの基本的な処理をLuaコードにてメモ
-- 関係演算子 < > <= >= == ~= -- 論理演算子 and or not -- 単項演算子や三項演算子はない -- if 条件分岐 num = 10 if num <= 50 then print("under 50") elseif num <= 100 then print("under 100") else print("over 100") end -- while ループ i = 0 while i < 10 do print(i) i = i + 1 end -- repeat ループ(C言語ならば、do-while文になる) i = 0 repeat print(i) i = i + 1 until i >= 10 -- for ループ for i = 0, 9 do print(i) -- 5のときにbreakさせる -- breakの後にendが必ず必要になる -- luaにはcontinueはない if i == 5 then break end end -- for の第3パラメータは増加量を示す -- 以下は2ずつ加算される for i = 0, 9, 2 do print(i) end -- テーブル(配列・連想配列) a = {12, 24, "test"} b = {key1 = "test", key2 = 120} -- 配列の添え字アクセスは1からとなる print(a[1]) -- 配列の要素数を得る場合は#を使用する print(#a) -- 連想配列は以下の様なアクセスが可能 print(b["key1"]) print(b.key2) -- 配列をループで処理する場合はipairsを使用する for i, value in ipairs(a) do print(i, value) end -- 連想配列はpairsを使用する for key, value in pairs(b) do print(key, value) end -- 引数有り関数 -- .. は文字列の連結 function show(txt) print("txt is " .. txt) end show("hoge") show("piyo") -- 戻り値有り関数 function getTxt(txt) return "txt is " .. txt end print(getTxt("hoge")) print(getTxt("piyo")) -- ローカル変数 function sum(a, b) local total = a + b return total end print(sum(1, 2)) -- 可変引数 function sum(...) local a = {...} local total = 0 for i = 1, #a do total = total + a[i] end return total end print(sum(1, 2, 3, 4))
Luaの組み込み関数については以下
Lua5.2 英語: Lua 5.2 Reference Manual - contents
Lua5.2 日本語: Lua 5.2 リファレンスマニュアル