NeoLuaの値と型
ナビゲーションに移動
検索に移動
純正Luaは動的型付け言語だが、NeoLuaは型推論であり変数は常に特定の「型」を持つ。この点が純正Luaとは大きく異なる。
NeoLuaの型は.NETの型に対応するものがほぼ存在する。なお、.NETのdynamic型もサポートされているので、dynamic型を使えば純正Luaっぽく動的型付け言語として使えないこともない。
対応表
NeoLua | .NET | 備考 |
---|---|---|
nil | System.Object | |
false/true | System.Boolean | |
number | System.Double | 小数点がある場合はDouble型になる。 |
number | System.IntXX | 数値の大きさで自動的に決まる |
string | System.String | 純正Luaの文字列はバイト配列だがNeoLuaはString型な点に注意 |
function | System.Delegate | functionはデリゲートにコンパイルされる。つまり関数ポインタになる。 |
userdata | 存在せず | |
thread | 存在せず | |
table | Neo.IronLua.LuaTable |
型変換の法則
local a = 23 + "42"; -- 32ビット整数
local b = 23 .. "42"; -- 文字列
local c : byte = "23"; -- 8ビット整数
local d : int = nil; -- 整数型が明示されている場合は「nil」は「0」になる