Lua for循环

来源:互联网 发布:单片机培训班多少钱 编辑:程序博客网 时间:2024/05/09 18:48

Lua for循环

 

累加模式

for var = exp1, exp2, exp3 do       ……end



exp1初始值

exp2最大值

exp3步长

 

例如

for i=1,5,2 do       print(i*10)end

结果:

 

 

迭代器泛型模式for

for <var-list> in <exp-list> do       ……end

例如

a={1, 2, x=44, y=55}for i,v in pairs(a) do       print(i,v)end

结果

 

详解:

for var1, var2,… in <explist> do       ……end

等价于

do       local_f1, _2, _n = <explist>       whiletrue do              localvar1, var2, … = _f1(_2, _n)              _n= var1              if_n == nil then                     break              end              ……       endend


自定义迭代器:

 

1

function CreateItor(i)       localn = 0;       returnfunction()              ifn<i then                     n=n+1                     returnn, "abc"              else                     returnnil              end       endend for i,v in CreateItor(5) do       print(i,v)end

结果

 

2

function Itor(i,n)       ifn<i then              n=n+1              returnn, "abc"       else              returnnil       endend for i,v in Itor,5,0 do       print(i,v)end

结果:

0 0
原创粉丝点击