Lua表和迭代

这样对吗?

local data = {}

for i = 1, 22 do
  table.insert( data, data[i].title = "这里的标题")
end

在 insert() 中我得到了语法错误,我不确定是什么原因引起的。 我猜测 data[i].title 不正确。

点赞
用户63791
用户63791

我认为这是你想做的事情:

local data = {}

for i = 1, 22 do
  local newdata = {
    title = "这里是标题"
  }
  table.insert(data, newdata)
end

在你创建一个新的表并将它分配给 data[i] 之前,data[i] 将是 nil。另外,看起来你要么试图将标题插入到 data,要么试图将一个新的表插入到 data,很难判断。我的示例假设你想创建一个新的表,给它分配一个标题,并将该新表放置在 data 中。

2012-09-23 04:49:26
用户107090
用户107090

为什么要使用 table.insert,当直接这样写更清晰明了呢?

for i = 1, 22 do
   data[i]= {title = "这里是标题"}
end
2012-09-23 11:27:07