差分
ナビゲーションに移動
検索に移動
NeoLua
,編集の要約なし
var ret2 = env.CallMember("Hello");
Console.WriteLine(ret2.ToString());
}
</source>
=== C#で関数を追加する ===
Luaでfunctionを書く方法だけでなく、C#で関数を追加することもできる。
<source>
using (var lua = new Lua())
{
var env = lua.CreateEnvironment();
// C#で書かれたadd関数を追加
env.Add("add", new Func<int,int,int>((a,b) => a+b));
// Lua側から呼び出してみる
var ret = env.DoChunk(@"return add(1,2)", "main.lua");
Console.WriteLine(ret);
}
</source>
dynamic版の場合だと更に簡潔明瞭。
<source>
using (var lua = new Lua())
{
var env = lua.CreateEnvironment();
// C#で書かれたadd関数を追加
env.add = new Func<int,int,int>((a,b) => a+b);
}
</source>