-2

我在我的 C# 程序中加载了这个脚本

function test()
    print ("A")
end

但是当我尝试调用它时

LuaFunction func = lua.GetFunction("test")

func.call()

我得到 func 为空的问题。

我错了什么?

4

1 回答 1

1

您说您已将脚本加载到C# 程序中。test这还不够。您必须执行生成的块代码,以便test分配全局变量。

时刻提醒

function test()
    print ("A")
end

只是一个语法糖:

test = function()
    print ("A")
end

Lua在加载一些代码时,只是将源代码编译成字节码。做作test = function() end只是在运行时执行,而不是在编译时执行。

于 2012-12-01T16:32:04.487 回答