Lua 如何将表定义中的项分配给同一表中的另一项?
我试图将表的花括号定义中的一个项分配给先前定义的另一个项。但Lua表示,一旦在其定义中引用该表,就无法找到该表本身 下面是我试图实现的一个例子:Lua 如何将表定义中的项分配给同一表中的另一项?,lua,lua-table,Lua,Lua Table,我试图将表的花括号定义中的一个项分配给先前定义的另一个项。但Lua表示,一旦在其定义中引用该表,就无法找到该表本身 下面是我试图实现的一个例子: local t = { a = 1, b = 2, c = t.a + t.b } 一旦接近t.a,Lua将无法找到t并返回错误 在t中定义c时,如何引用t.a和t.b而不离开花括号定义?很尴尬,但是: local t do local a = 1 local b = 2 t = {a, b, c =
local t = {
a = 1,
b = 2,
c = t.a + t.b
}
一旦接近t.a,Lua将无法找到t并返回错误
在t中定义c时,如何引用t.a和t.b而不离开花括号定义?很尴尬,但是:
local t
do
local a = 1
local b = 2
t = {a, b, c = a + b}
end
print(t.c) -- 3
如果没有do/end块,a和b变量将在t之外可见
据我所知,没有直接的方法来引用a和b,除非前面的例子中有1个变量存在,或者表构造完成后有2个变量存在。正如你在问题中所说的,你不能 所以,前面定义的不是表构造函数中的概念 也 及 因此,不能引用语句结尾之前代码中显示的局部变量t。t将绑定到先前声明的变量或全局名为t的变量