lua 拾遗一:pairs

  • pairs 和ipairs
  • require和dofile

pairs 和 ipairs

a = {
  ['name'] = 'ketchup',
  [120] = true,
  [1] = 10,
  [2] = 20,
}

for k,v in pairs(a) do
  print(k,v)
end
  • 结果是:(是没有顺序的)

    120 true
    name ketchup
    2 20
    1 10
    
  • 如果用ipairs 迭代

    a = {
    ['name'] = 'ketchup',
    [120] = true,
    [1] = 10,
    [2] = 20,
    }
    
    for k,v in ipairs(a) 
      print(k,v)
    end
    
  • 结果是:
    1 10
    2 20

iparis 只会遍历数组,而且key 是数组的下标(默认升序)
pairs 会遍历所有的 数组+映射,但是是无序的

require 和 dofile

在导包的时候用到require
require 只会调用执行一次,而dofile执行会多次,每次的table都不一样
建议用require ,require是最新的,dofile 是以前的写法,这里只是普及一下不同

你可能感兴趣的:(lua 拾遗一:pairs)