1

这可以吗,例如:

table = { "Mark", "John", "Paul", "Matt", "Chris", ...}

接着

for k,v in pairs(table) do table[v] = k end

或者我应该创建两个单独的表,每对一个?哪个款式更好看?

4

1 回答 1

4

对于一个类似列表的表,其中键是整数,值是你的其他东西,使用单个表是一个好主意,尤其是它上面有一点元魔法(见这个答案)。

话虽如此,在这种情况下,您应该使用ipairs它来迭代它,而不是pairs.

然而,对于像这样的类似地图的表,使用两个表更好:

my_table = {
  foo = "bar",
  spam = "eggs",
  chunky = "bacon",
}

(因为想象一下如果你有这个会发生什么......)

my_table = {
  foo = "bar",
  bar = "baz",
}
于 2013-09-16T15:37:00.270 回答