我正在尝试为表中的一个变量分配多个值。一个用于字符串名称,另一个用于整数。该代码将:
items = {
potion = "Potion", 100
}
我不知道如何正式编写该代码,以及如何调用这些特定值。 (你这样称呼吗?)
io.write(item.potion.1) --> Potion
io.write(item.potion.2) --> 100
(或其他?)
请帮助。 :我
答案 0 :(得分:6)
您可以将这些值分配给由数字或标识符索引的表:
-- identifiers
items = {
potion = {name = "Potion", value = 100},
}
print(items.potion.name, items.potion.value)
-- numeric indexes
items = {
potion = {"Potion", 100},
}
print(items.potion[1], items.potion[2])
我个人更喜欢前一种方法(因为它虽然更冗长,但更易于维护),但任何一种都应该起作用。
答案 1 :(得分:1)
Lua允许对多个变量进行多次分配。
像这样:
potion, value = "Potion", 100
但是不能在表定义中完成。
items = {
potion = "Potion", 100
}
您的代码在做什么,就是将potion
设置为值"Potion"
,然后,
结束分配。下一个分配是100,它将分配给默认键,在这种情况下为1
。
在表的旁边,每个作业都以,
结尾,因此表的内容等于:
items = {
potion = "Potion",
[1] = 100
}
要实现所需的行为,您可以嵌套表:
items = {
potion = {
"Potion",
100
}
}
该示例可以像items.potion[1]
那样访问,而不像items.potion.1
那样访问,因为这是因为.
表示法不能与以数字开头的键一起使用。