系统迭代器

  1. -- 循环输出自定义键值对
  2. array = {a = "a1", b = "b1"}
  3. for k, v in pairs(array) do
  4. print(k, v)
  5. end
  6. -- 循环输出数字键值对
  7. array = {"a", "b"}
  8. for k, v in ipairs(array) do
  9. print(k, v)
  10. end

自定义迭代器

  1. function i_pairs(a, i)
  2. return iter, a, i
  3. end
  4. function iter(a, i)
  5. i = i + 1
  6. local v = a[i]
  7. if v then
  8. return i, v
  9. end
  10. end
  11. array = {"a", "b", "c"}
  12. for i, v in i_pairs(array, 0) do
  13. print(i, v)
  14. end