【问题标题】:LuaInterface error " '=' expected near '<eof>' "LuaInterface 错误“'=' 应在 '<eof>' 附近”
【发布时间】:2014-08-04 22:50:50
【问题描述】:

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

local x = "String variable"

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

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

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

[string "root.lua"]:1: '=' expected near '&lt;eof&gt;'

【问题讨论】:

    标签: c# lua luainterface


    【解决方案1】:

    你试图做的功能基本上是这样的:

    function(...)
        x
    end
    

    此函数无效;你正在阅读x,但没有对它做任何事情,因为 Lua 表达式不能作为语句存在,你会得到一个解析错误。

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

    【讨论】:

    • 你能告诉我一个如何在 lua 中声明一个全局可读值的例子吗?可以不用函数声明吗?
    • 只是不要声明它local。即x = "String variable"
    猜你喜欢
    • 1970-01-01
    • 2015-08-19
    • 2014-04-26
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多