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

Posted

技术标签:

【中文标题】如何在一个表的键中分配多个值?【英文标题】:How do you assign multiple values in a key for a table? 【发布时间】:2019-09-06 20:55:29 【问题描述】:

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

items = 
potion = "Potion", 100

我不知道如何正式写这个,以及如何调用那些特定的值。 (你这样叫吗?)

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

(或者别的什么?)

请帮忙。 :我

【问题讨论】:

你要找的是像items = potion = "Potion", 100 这样的嵌套表 【参考方案1】:

您可以将这些值分配给按数字或标识符索引的表:

-- 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])

我个人更喜欢前一种方法(因为它更易于维护,尽管有点冗长),但任何一种都应该可行。

【讨论】:

【参考方案2】:

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 这是因为. 符号不能与以数字开头的键一起使用。

【讨论】:

以上是关于如何在一个表的键中分配多个值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在堆中分配值类型数组?

如何使用java代码在sp值中分配文本大小

如何在熊猫 df 列中分配列表值?

如何在模板类函数中分配struct值?

在Python中分配多个值时的奇怪问题[重复]

如何在 Vertex AI 表格预测中分配两个或多个时间序列标识符列