如何为表格中的一个键分配多个值?

我正在尝试为表格中的一个变量分配多个值。一个用于字符串名称,一个用于整数。 代码如下:

items = {
  potion = "Potion"100
}

我不知道如何正式编写此代码,并如何调用这些特定值。 (像这样调用吗?)

io.write(item.potion.1) --> Potion
io.write(item.potion.2) --> 100

(还是别的什么?)

请帮帮我。: I

点赞
用户1442917
用户1442917

你可以将这些值分配给一个由数字或标识符索引的表:

-- 标识符
items = {
  potion = {name = "药水", value = 100},
}
print(items.potion.name, items.potion.value)

-- 数字索引
items = {
  potion = {"药水", 100},
}
print(items.potion[1], items.potion[2])

我个人更喜欢前一种方法(尽管有点啰嗦,但更易于维护),但任何一种方法都可以使用。

2019-04-16 17:24:23
用户7396148
用户7396148

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,因为 . 符号不能用于以数字开始的键。

2019-04-16 17:47:04