Lua学习(七)-----迭代器和泛型for
2015-04-02 15:44
417 查看
array={ "Lua","Tutorial"}
for key,value in ipairs(array)
do
print(key,value)
end
--[[上面的示例使用由Lua中提供的默认ipairs迭代函数。
]]
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
for i,n in square,3,0
do
print(i,n)
end
分析:参数3,0分别传给square函数中的两个参数
iteratorMaxCount=3,currentNumber=0
in 后面的表达式(square,3,0)返回两个参数给 i,n
因此可以重写自己的 ipairs()
function myipairs(a)
local num=#a
local i=0
if i<=num then i=i+1
return i,a[i]
end
end
--------------------------
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
function squares(iteratorMaxCount)
return square,iteratorMaxCount,0
end
for i,n in squares(3)
do
print(i,n)
end
------------------------------------
for key,value in ipairs(array)
do
print(key,value)
end
--[[上面的示例使用由Lua中提供的默认ipairs迭代函数。
]]
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
for i,n in square,3,0
do
print(i,n)
end
分析:参数3,0分别传给square函数中的两个参数
iteratorMaxCount=3,currentNumber=0
in 后面的表达式(square,3,0)返回两个参数给 i,n
因此可以重写自己的 ipairs()
function myipairs(a)
local num=#a
local i=0
if i<=num then i=i+1
return i,a[i]
end
end
--------------------------
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
function squares(iteratorMaxCount)
return square,iteratorMaxCount,0
end
for i,n in squares(3)
do
print(i,n)
end
------------------------------------
相关文章推荐
- Lua学习笔记(七):迭代器与泛型for
- Lua学习笔记-迭代器和泛型for
- Lua学习笔记 第七章 迭代器与泛型for
- Lua迭代器和泛型for)
- Step By Step(Lua迭代器和泛型for)
- Lua中的迭代器与泛型for
- 利用lua中的closure来实现lua迭代器以及用泛型for实现lua的无状态迭代器
- Lua学习笔记之迭代器与范型for
- 深入解读Lua中迭代器与泛型for的使用
- Lua笔记7-迭代器和泛型for
- Lua语言学习(一)------Lua语言闭包代替范性for语义的迭代器的原理
- LUA学习笔记--泛型for进行迭代处理的细节
- lua迭代器与泛型for
- Lua_泛型for与迭代器
- Lua 迭代器与泛型for
- 每日一Lua(5)-迭代器与泛型for
- Step By Step(Lua迭代器和泛型for)
- Step By Step(Lua迭代器和泛型for)
- 二、Lua迭代器与泛型for
- lua语言-《lua程序设计》6~7章函数和迭代器与泛型for