例如,这是否可以:
table = { "Mark", "John", "Paul", "Matt", "Chris", ...}
然后
for k,v in pairs(table) do table[v] = k end
或者我应该创建两个单独的表,每对一个?哪一种风格更好?
答案 0 :(得分:4)
对于类似于列表的表,其中键是整数,值是其他类似的表,使用单个表是一个好主意,特别是在它上面有一些元魔法(参见this answer)
话虽如此,在这种情况下,您应该使用ipairs
来迭代它,而不是pairs
。
对于像这样的类地图表,使用两个表更好:
my_table = {
foo = "bar",
spam = "eggs",
chunky = "bacon",
}
(因为想象如果你有这个会发生什么......)
my_table = {
foo = "bar",
bar = "baz",
}