Lua变量、表、For循环语法

我在 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 又是从哪里来的?

这是一种专门为表格设计的语法吗?

感谢任何解释。

点赞
用户1243636
用户1243636

pairs 返回一个迭代器,该迭代器遍历一个表中所有的字段和它们的值。

更确切地说,这是一个使用表和之前看到的索引作为参数的函数,返回索引和它的值这一对。

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

有两种方法:遍历每个键或只遍历整数键:

pairsipairs 函数。

这个循环与 Python 非常相似:

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

或者

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

如果你知道 Python(似乎每个人都知道它)。

2015-03-10 21:44:11