C# で Lua を使用する
概要
NLua というライブラリを使用して C# で Lua を使用する。C++ でいう LuaPlus みたいに簡単に組み込める、すごい。
プロジェクト一式はこちらからどうぞ -> download
コンソール |
ソースコード
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CSharp_Lua_test { class CSharpLuaTest { // Lua から呼ばれる関数 public string Func1(int x) { return ("CSharp function : " + x); } // C# で Lua を使ってみる // https://github.com/NLua/NLua を使用 static void Main(string[] args) { NLua.Lua state = new NLua.Lua(); // C# の関数を Lua 側から呼べるようにする。 state["CS"] = new CSharpLuaTest(); state.DoString(@" -- 大きい方を返す関数 function GetBig(x, y) if x > y then return x else return y end end -- Lua の文字列連結演算子は「..」 test = 'Hello Lua World !' .. ' hoge fuga ' test = test .. 'HAAA' -- せっかくだし計算してみよう tmp = 10 * 3 + 6 - 5; -- C# 側の関数を呼ぶ tmpRet = CS:Func1(GetBig(100, 20)) "); System.Console.WriteLine("test = " + state.GetString("test")); System.Console.WriteLine("tmp = " + state.GetString("tmp")); System.Console.WriteLine("tempRet = " + state.GetString("tmpRet")); System.Console.WriteLine("[Please Enter key.]"); System.Console.ReadLine(); state.Close(); return; } } }
コンソール
test = Hello Lua World ! hoge fuga HAAA tmp = 31 tempRet = CSharp function : 100 [Please Enter key.]
以上