如何在 table 的键中分配多个值?
How do you assign multiple values in a key for a table?
我正在尝试为 table 中的一个变量分配多个值。一种用于字符串名称,另一种用于整数。代码如下:
items = {
potion = "Potion", 100
}
我不知道如何正式地写这个,以及如何调用那些特定的值。
(你们是这么叫的吗?)
io.write(item.potion.1) --> Potion
io.write(item.potion.2) --> 100
(或其他?)
请帮忙。 :我
您可以将这些值分配给由数字或标识符索引的 table:
-- 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])
我个人更喜欢前一种方法(因为它更易于维护,尽管有点冗长),但任何一种都应该有效。
Lua 允许对多个变量进行多次赋值。
像这样:
potion, value = "Potion", 100
但这不能在 table 定义中完成。
items = {
potion = "Potion", 100
}
您的代码在这里所做的是将 potion
设置为值 "Potion"
,然后 ,
结束分配。下一个分配是 100,它将分配给默认键,在本例中为 1
.
在 a table 中,您以 ,
结束每个作业,因此您的 tables 内容等于:
items = {
potion = "Potion",
[1] = 100
}
要完成所需的行为,您可以嵌套 tables:
items = {
potion = {
"Potion",
100
}
}
此示例可以像 items.potion[1]
那样访问,而不像 items.potion.1
那样访问,这是因为 .
符号不能与以数字开头的键一起使用。
我正在尝试为 table 中的一个变量分配多个值。一种用于字符串名称,另一种用于整数。代码如下:
items = {
potion = "Potion", 100
}
我不知道如何正式地写这个,以及如何调用那些特定的值。 (你们是这么叫的吗?)
io.write(item.potion.1) --> Potion
io.write(item.potion.2) --> 100
(或其他?)
请帮忙。 :我
您可以将这些值分配给由数字或标识符索引的 table:
-- 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])
我个人更喜欢前一种方法(因为它更易于维护,尽管有点冗长),但任何一种都应该有效。
Lua 允许对多个变量进行多次赋值。
像这样:
potion, value = "Potion", 100
但这不能在 table 定义中完成。
items = {
potion = "Potion", 100
}
您的代码在这里所做的是将 potion
设置为值 "Potion"
,然后 ,
结束分配。下一个分配是 100,它将分配给默认键,在本例中为 1
.
在 a table 中,您以 ,
结束每个作业,因此您的 tables 内容等于:
items = {
potion = "Potion",
[1] = 100
}
要完成所需的行为,您可以嵌套 tables:
items = {
potion = {
"Potion",
100
}
}
此示例可以像 items.potion[1]
那样访问,而不像 items.potion.1
那样访问,这是因为 .
符号不能与以数字开头的键一起使用。