如何在 lua 脚本的每一行中填充列表

How to populate list in each row of a column in lua script

对于单个单元格中的标准列表,我只需输入

__iVarname = {"1 /apple", "2 /banana", "3 /orange"}

在 lua 脚本中获取单元格中包含 3 个水果的列表。现在,如果该变量是 n 行的列

__IVarname = {"1 /apple", "2 /banana", "3 /orange"}

列表不会填充到每个单元格中。 我试过循环 0 到 n

for i =0,40 do
__IVarname = {"1 /apple", "2 /banana", "3 /orange"}
end

但它没有正常工作。我是 lua 脚本的新手,所以我不知道在数组中填充 list/combobox 的语法,并且在我的搜索过程中找不到任何内容。

我不太确定什么是 __iVarname,变量的名字多么奇怪,但我可以解释一下您的代码在做什么:

for i =0,40 do
__IVarname = {"1 /apple", "2 /banana", "3 /orange"}
end

在此循环中,__IVarname 将被设置为值 {"1 /apple", "2 /banana", "3 /orange"}。这将发生 41 次。循环结束时,__IVarname的值为{"1 /apple", "2 /banana", "3 /orange"}.

我想你想要做的是让 table 包含所有值。出于您的原因,您希望用相同的值填充您的列表。在Lua中,可以编写如下代码:

__IVarname = {} -- create a new table
for i=1,40 do
  __IVarname[i] = {"1 /apple", "2 /banana", "3 /orange"}
end

还有一个额外的可能语法,用于在 table 的末尾追加新项目,#__IVarname 返回 table 中的元素数:

__IVarname = {} -- create a new table
for i=1,40 do
  __IVarname[#__IVarname+1] = {"1 /apple", "2 /banana", "3 /orange"}
end