【问题标题】:" '}' expected near '=' " error appearing in a line that otherwise appears perfect“'}' 预计在 '=' 附近出现”错误出现在原本看起来完美的行中
【发布时间】:2013-08-25 17:59:47
【问题描述】:

当我尝试运行我的脚本时,我收到一个返回变量赋值的错误。我已经多次重新检查我的语法,这似乎不是我在那里犯的错误——我什至让其他人查看它以防万一。但是,不断返回的错误将我指向语法,我似乎无法找到解决此问题的方法。

这是整个麻烦的功能:

    function registerquestlines()
       if player["testline"] == nil then
            player["testline"] = {"prog" = {true,false,false}, "quests" = {"testline1", "testline2", "testline3"}, "prog#" = 1}
       end
    end

同样,我得到的错误是:在我为 player["testline"] 赋值的行上的 '=' 附近预期有 '}'。

【问题讨论】:

    标签: lua


    【解决方案1】:

    表初始值设定项使用不带引号的名称或带括号的表达式,而不是带引号的名称。

    {prog = {true,false,false}}
    {["prog"] = {true,false,false}}
    

    【讨论】:

    • 谢谢,更有用的错误信息也值得感谢。感谢您的帮助。
    • Lua 的紧凑性是有代价的:它不能很好地处理语法错误,因为这会使它的解析器更大并且可能更慢。
    • 信息很清楚。它期望"prog" 是表中的最后一个条目(位置1),因为"prog" 后面只能跟},。它可能会说',',但它会更清楚吗?
    • }预期的,而,可选的预期。在大多数情况下遵循该顺序是有意义的(例如:do a end 产生 '=' expected near 'end',而不是像 '.' expected near 'end' 这样愚蠢的东西。)
    猜你喜欢
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多