差分

ナビゲーションに移動 検索に移動

NeoLuaの値と型

1,324 バイト追加, 2018年10月22日 (月) 01:58
ページの作成:「純正Lua動的型付け言語だが、NeoLua型推論であり変数は常に特定の「」を持つ。この点が純正Luaとは大...」
純正[[Lua]]は[[動的型付け言語]]だが、[[NeoLua]]は[[型推論]]であり[[変数]]は常に特定の「[[型]]」を持つ。この点が純正Luaとは大きく異なる。

[[NeoLua]]の型は[[.NET]]の型に対応するものがほぼ存在する。なお、.NETの[[dynamic型]]もサポートされているので、dynamic型を使えば純正Luaっぽく動的型付け言語として使えないこともない。

対応表
{| class="wikitable"
!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
|
|}
型変換の法則<syntaxhighlight lang="lua">
local a = 23 + "42"; -- 32ビット整数
local b = 23 .. "42"; -- 文字列
local c : byte = "23"; -- 8ビット整数
local d : int = nil; -- 整数型が明示されている場合は「nil」は「0」になる

</syntaxhighlight>
[[カテゴリ:NeoLua]]
匿名利用者

案内メニュー