LuaInterface错误:“'='预期出现在<eof>附近”

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

local x = "String variable"

然后我尝试从C#程序中加载字符串,代码如下:

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

在尝试编译时,我收到了以下错误信息:

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

点赞
用户646619
用户646619

你试图创建的函数基本上是这样的:

function(...)
    x
end

这个函数是无效的;你正在读取 x 但是没有对它进行任何操作,而且由于 Lua 表达式不能存在于语句中,所以会出现解析错误。

你可能想要的是 lua.LoadString("return x", "root.lua")。然而,这仍然行不通,因为 x 是局部变量,只能在定义它的文件中访问;外部函数无法访问它。要么将 x 定义为全局变量,要么(更好的方法)在定义 x 的文件中定义一个 getter 函数。

2014-06-14 15:46:24