提问人:DEMONVIC 提问时间:7/8/2022 最后编辑:ErwinDEMONVIC 更新时间:7/8/2022 访问量:114
LUA 将_ENV中的名称添加到表格中后,如何从名称中打印 VALUE,而不仅仅是“名称”
LUA After adding names from _ENV into a table, how do I print the VALUE from the name and not just the "name"
问:
X=123
Y=321
TAB1={}
z=1
for n in pairs(_ENV) do
TAB1[z] = n
z=z+1
end
-- did some more steps that removes general _ENV and only left with my script global variables
TAB2={x, y}
print(TAB2[1])
我想要的是“123”,但我得到的是“x”
我尝试过 gmatch、gsub、tostring,但我仍然无法让它打印 x (123) 的值。它只打印“x”
**对不起,我不知道如何为我的问题正确使用此文本框
答:
1赞
Luatic
7/8/2022
#1
我尝试了 gmatch、gsub、tostring,但我仍然无法让它打印 x (123) 的值。它只打印“x”
这些函数用于字符串操作,所以我看不出它们在这里有什么用处。缺少“值”的原因是你的循环是 。pairs
只是一个包装器,它返回 和 ,但您当前正在丢弃该值。只需将第二个变量添加到 for 名称列表中:.或者,使用 : 索引(在循环内)。for n in pairs(_ENV) do
next
key
value
for name, value in pairs(_ENV) do print(value) end
_ENV
n
print(_ENV[n])
评论
0赞
DEMONVIC
7/8/2022
谢谢。这似乎正在起作用,我得到了更多不需要的数据,但我可以想出一种方法来获得我需要的东西。非常感谢!!
0赞
DEMONVIC
7/8/2022
哦,这太完美了。我在表 1 中放置了“name”,在表 2 中放置了“value”。然后排除不需要的数据,所以只剩下我的变量。现在我可以随时获得名称和价值!非常感谢!!!!
评论