差分

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

NeoLua

864 バイト追加, 2018年8月15日 (水) 09:32
編集の要約なし
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>
匿名利用者

案内メニュー