Lua 变量,Table,For 循环语法

Lua Variable, Table, For Loop Syntax

刚刚在 Lua 自我示例中看到这个...

  -- Example 24   -- Printing tables.
  -- Simple way to print tables.

  a={1,2,3,4,"five","elephant", "mouse"}

  for i,v in pairs(a) do print(i,v) end


  -------- Output ------

  1       1
  2       2
  3       3
  4       4
  5       five
  6       elephant
  7       mouse

  Press 'Enter' key for next example

我以前没见过这种语法,for i,v in pairs(a) do print(i,v) end

v 是从哪里出现的?

单词 in 是否导致它存在?

同理,i从何而来?

这是为表设计的语法吗?

感谢任何解释。

pairs returns 所有字段及其值的迭代器

更确切地说,它是 table 和之前看到的索引的函数,其中 returns 对索引及其值。

> t = {4,5,6}
> p = pairs(t)
> =p(t)
1   4
> =p(t,1)
2   5
> =p(t,2)
3   6

有 2 个选项:迭代每个键或仅迭代那些整数: pairsipairs 函数

这个循环与python的

非常相似
l = [4,5,6]
for i, v in enumerate(l):
    ...

d = {"a":1, "b":2}
for k, v in d.iteritems():
    ...

如果你知道python(貌似大家都知道)