Lua loadstring函数失败

时间:2016-09-08 11:30:22

标签: lua

鉴于此代码:

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

为什么不在表中添加点数: 表

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

1 个答案:

答案 0 :(得分:3)

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

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

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