通过给出一个key来获得对应的value。并且,table的key可以是除nil以外的任意类型

  1. local tab = {}
  2. tab.a = 1
  3. tab["hello"] = "world"
  4. tab["f"] = function()
  5. print("c is function")
  6. end
  7. for k, v in pairs(tab) do
  8. print(string.format("key=%s,value=%s", tostring(k), tostring(v)))
  9. end

concat

concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep)隔开。

  1. fruits ={"banana","apple","origin"}
  2. print(table.concat(fruits))
  3. print(table.concat(fruits,","))

输出结果

  1. bananaappleorigin
  2. banana,apple,origin

制定索引连接table

  1. fruits ={"banana","apple","origin"}
  2. print(table.concat(fruits,",",2,3))

输出结果

  1. apple,origin

insert

插入数据

  1. fruits ={"banana","apple","origin"}
  2. table.insert(fruits,"mango")
  3. print(table.concat(fruits,","))

打印结果

  1. banana,apple,origin,mango

在索引2 插入数据

  1. fruits ={"banana","apple","origin"}
  2. table.insert(fruits,2,"mango")
  3. print(table.concat(fruits,","))

输出结果

  1. banana,mango,apple,origin

remove

  1. fruits ={"banana","apple","origin"}
  2. table.remove(fruits)
  3. print(table.concat(fruits,","))

输出结果

  1. banana,apple

遍历

ipairs

  1. myTable ={1,a=2,"hello",b="world"}
  2. for k,v in ipairs(myTable)do
  3. print(k,v)
  4. end

输出结果

  1. 1 1
  2. 2 hello

pairs

  1. myTable ={1,a=2,"hello",b="world"}
  2. for k,v in pairs(myTable)do
  3. print(k,v)
  4. end

输出结果

  1. 1 1
  2. 2 hello
  3. a 2
  4. b world

数组形式还可以用和c语言类似的方式

  1. letters = { "a", "b", "c" }
  2. for k = 1, #letters do
  3. print(k, letters[k])
  4. end