【ドットインストール】Lua入門
前回、久しぶりにLuaを触りました。
yamano3201.hatenablog.jp
ドットインストールを使って復習してみたのでメモしておきます。
http://dotinstall.com/lessons/basic_luadotinstall.com
luaメモ
文字列
-- 文字列の連結は.. を使う s = "hello" .. "world" print(s)
テーブル
--[[ テーブル(配列/ハッシュ) 配列のテーブル 要素の順番は1から始まるので注意 ]] a = {23, 234, "hello"} print(a[1]) -- #aで要素の個数を返す print(#a) -- ハッシュのテーブル user = {name = "yamano", score = "30"} print(user["name"]) print(user.score)
条件分岐
--ifとelseifの行末にはthenが必要 score = 80 if score > 60 then print("OK") elseif score > 40 then print("soso..") else print("ng!") end
ループ
-- repeat until i = 0 repeat print(i) i = i + 1 until i >= 10 -- 配列のfor for i, value in ipairs(a) do print(i, value) end -- ハッシュのfor for key, value in pairs(user) do print(key, value) end
関数
-- function function greet(name) print("hello! "..name) end greet("Tom") -- 可変引数 function sum(...) local a = {...} local total = 0 for i = 1, #a do total = total + a[i] end return total end print(sum(2, 4, 6, 8))
数値に関する関数
-- 便利な関数 x = math.max(2, 222, 14) print(x) -- 0以上1未満のランダム値 y = math.random() print(y) -- n1からn2までの整数値のランダム値 z = math.random(10, 20) print(z)
文字列に関する関数
-- 文字数をカウント num = #"dotinstall" print(num) -- 文字列の変換 sub = string.gsub("dotinstall", "dot", ".") print(sub) -- string.format -- %dの前に数字を書くと桁数を指定できる。0から始めると0で埋めてくれる -- %fの前の数字で小数点以下の桁数を指定できる s1 = 10 s2 = 20.23456 s3 = "yamano" s_format = string.format("name: %s, x:%010d, y:%.2f", s3, s1, s2) print(s_format)
テーブルに関する関数
-- テーブルの関数 nums = {2, 25, 42, 1} table.sort(nums) -- 配列テープルに要素の追加と削除 table.insert(nums, "ラス前") table.insert(nums, "last") table.remove(nums) for i, num in ipairs(nums) do print(num) end
日付、時刻に関する関数
-- 基準日からの秒数 time = os.time() print(time) -- フォーマット指定の日付 date = os.date("%Y-%m-%d") print(date)