Luaの言語仕様/ドキュメント/リファレンス
Luaの各種情報は公式サイトのドキュメントページから参照可能です。(ユーザ登録等は不要です)

※何故かうちのGoogleさんは検索結果に表示してくれない…
Luaのバージョンを確認する
デバッグ用途等でLuaバージョンをプログラムで表示したい場合があるかと思います。
その場合は以下のグローバル変数を出力することで確認することが可能です。
print(_VERSION)
> Lua 5.1

コーディング規約
以下の2つから好みに合わせて選ぶのが良いと思います。(私は②派です)
①Luaユーザコミュニティが提供するスタイルガイド
http://lua-users.org/wiki/LuaStyleGuide
②LuaRocks(Luaのパッケージマネージャ)が提供するスタイルガイド
https://github.com/luarocks/lua-style-guide
※環境によっては独自にコーディング規約を設けている場合もあるので(Roblox等)、その場合はそちらを優先した方が良いです。
コメント(ブロックコメント/インラインコメント)
-- 通常のコメントは'-'(半角ハイフン)二つ
--[[
ブロックコメントは
'-'(半角ハイフン)二つと
'['(半角 角括弧)二つ
--]]
小数点の切り上げ・切り捨て
Luaは標準でmathライブラリがあるので、小数点の切り捨て・切り上げに限らず大体何でもできます。
-- 切り捨て
math.floor(1.5)
> 1
-- 切り上げ
math.ceil(1.5)
> 2
ラムダ式を作る
名前を付けずに関数を作ればいいと思っていましたが、Wikipedia先生によるとLuaは「すべての関数が本質的に無名関数」らしいです。
よくわからないので構文と例文だけ書いときます。
Luaでの無名関数の構文は以下です。
function(仮引数, ...) 処理A; ...; 処理Z end
例えば以下のように使えます。
-- 例:2乗する関数
(function(x) return x * x end)(5)
> 25
-- 例:テーブルのキーと値を全てprint
(function(tbl) for k, v in pairs(tbl) do print(k..':'..v) end end)({a = '123', b = '456'})
> a:123
> b:456
-- 当然変数への代入も可能
myFunc = function(x) return x * x end
3項演算子っぽいことをする
Luaに3項演算子は無いらしいので、andとor演算子の挙動を利用して3項演算子っぽいことをします。
構文は以下です。
条件式 and 真の時の値 or 偽の時の値
例えば以下のように使えます。
-- 数値型以外の場合は0に補正する三項演算子(もどき)
y = (type(x) == 'number') and x or 0
-- x = 123.456の時
print(y)
> 123.456
-- x = 'abcdef'の時
print(y)
> 0
因みにandとorの挙動は以下です。
論理演算子 | 記述例 | 意味 |
---|---|---|
and | x and y | xが真の場合:yを返す xが偽の場合:xを返す |
or | x or y | xが真の場合:xを返す xが偽の場合:yを返す |
初見は「??」ってなりました…
以下に日本語で整理しておきます。
(頭悪いとか言わないで自覚してるから)
x and y
xが偽の場合はyに関わらず偽なので偽(x)を返す
xが真の場合はyの真偽で決まるのでyを返す
x or y
xが真の場合はyに関わらず真なので真(x)を返す
xが偽の場合はyの真偽で決まるのでyを返す
参考
http://www.nct9.ne.jp/m_hiroi/light/lua03.html
https://ie.u-ryukyu.ac.jp/~e085739/lua.hajime.2.html
無名関数(Wikipedia)
Lua で3項演算子
コメント
buy androxal generic where to buy
indian pharma androxal
discount enclomiphene generic order
buy canadian enclomiphene
ordering rifaximin price canada
Non generic rifaximin no perscription
buy xifaxan generic mastercard
order xifaxan cost on prescription