Lua loadstring函数失败

考虑以下代码:

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

为什么籽没有加入到表中:表

'fruit'{
  'name'='Bramley',
  'skinc'='Red'
}
点赞
用户1009479
用户1009479

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

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

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

2016-09-08 11:42:08