【问题标题】:Lua loadstring Function failLua loadstring 函数失败
【发布时间】:2016-09-08 11:30:22
【问题描述】:

鉴于此代码:

local fruit = {}
fruit.name = "Bramley"
loadstring("fruit.pips = '2'")
fruit.skinc = 'Red'
print(fruit)

为什么点数没有添加到表中: 表

'fruit'{
  'name'='Bramley',
  'skinc'='Red'
}

【问题讨论】:

    标签: lua


    【解决方案1】:

    loadstring()(或 Lua 5.2 或更高版本中的 load())返回一个函数,您必须运行该函数才能执行代码。像这样:

    fruit = {}
    fruit.name = "Bramley"
    loadstring("fruit.pips = '2'")()
    

    注意fruit必须是全局的,否则会产生错误,因为loadstring的返回函数的环境是全局环境。

    【讨论】:

    • 非常感谢!我曾尝试过附加 (),但我的错误是水果是局部变量。非常感谢您提供简洁的法医答案 - 在我不显示的情况下知道我的错误!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多