18Lua与C#交互_lua


18Lua与C#交互_解析器_02


18Lua与C#交互_c#_03


18Lua与C#交互_解析器_04

Lua lua=new Lua();  //创建lua解析器
lua["hh"] = 100;
lua["kk"] = "233";
Console.WriteLine(lua["hh"]);
Console.WriteLine(lua["kk"]);

01:C#调用Lua

18Lua与C#交互_解析器_05

Lua lua=new Lua();  //创建lua解析器
//变量的声明和访问
lua.DoString("name='11' num=25");
lua.DoString("print(name,num)");
//for循环变量
lua.DoString(
@"for i=1,10 do
print(i)
end"
);
//函数的定义和访问
lua.DoString(
@"function show(x)
print(x)
end
show(200)"
);
//table数组的声明和访问
lua.DoString("table={'11','22','33','44'}");
lua.DoString(" for k,v in pairs(table) do print(k,v) end");
Console.ReadKey();

18Lua与C#交互_c#_06


18Lua与C#交互_lua_07

18Lua与C#交互_解析器_08


创建lua文件 ANSI类型

print("lua文件")
name="用牙刷与"
age=500
function sum(a,b)
print(a+b)
end

C#解析

Lua lua = new Lua();  //创建lua解析器
lua.DoFile("sum.lua");
string name = lua.GetString("name");
int age=(int)lua.GetNumber("age");
Console.WriteLine(name+":"+age);
LuaFunction luaFunction=lua.GetFunction("sum");
luaFunction.Call(100, 200);
Console.ReadKey();

02:lua调用C#

18Lua与C#交互_lua_09


18Lua与C#交互_c#_10

18Lua与C#交互_c#_11


18Lua与C#交互_c#_12