1

我正在尝试学习 lua 以及如何将 lua 与 C# 一起使用。所以我创建了一个 lua 脚本,在其中声明了一个名为“x”的字符串变量:

local x = "String variable"

然后我尝试从 c# 程序中加载字符串,如下所示:

LuaFunction vsa =  lua.LoadString("x", "root.lua");

当我尝试编译时,我收到此错误:

[string "root.lua"]:1: '=' expected near '<eof>'

4

1 回答 1

2

您尝试制作的功能基本上是这样的:

function(...)
    x
end

此功能无效;您正在阅读x但没有对其进行任何操作,并且由于 Lua 表达式不能作为语句存在,因此您会收到解析错误。

你的意思大概是lua.LoadString("return x", "root.lua")。但是,这仍然不起作用,因为x它是您定义它的文件的本地文件;外部功能无法访问它。要么x需要是全局的,要么(更优选)你在你定义的文件中定义一个 getter 函数x

于 2014-06-14T15:46:24.053 回答