无法遍历数组并更改映射中的值

我有一个Lua中的map和数组。我不知道这个map确切被称为什么。类似于C++中的Map 而我必须遍历数组并更改映射中布尔值的第二个参数。我这样做。但是却出现了错误-尝试调用一个表值

self.arrayObjectHint = {}
self.arrayObjectHint['dustpan'] = false
self.arrayObjectHint['goblet'] = true
self.arrayObjectHint['dryflowers'] = true
self.notHint = {'goblet', 'dryflowers', 'dustpan'}
..........
for index, objectId in (self.notHint) do
 self.arrayObjectHint[objectId] = not self.arrayObjectHint[objectId]
end 

问题出在哪里?

点赞
用户2858170
用户2858170

你在通用 for 循环中忘记迭代器函数了。

for index, objectId in ipairs(self.notHint) do
  self.arrayObjectHint[objectId] = not self.arrayObjectHint[objectId]
end
2020-01-25 10:30:53