local table1 = {2,3,4,5,6}
print("the first print:");
for k,v in ipairs(table1) do
print(k,v)
end
function my_ipars(table)
local key = 0
return function()
key = key+1
return key,table[key]
end
end
function My_ipars(table,callfuncN)
local fun_ipars = my_ipars(table)
while(1) do
local key,value = fun_ipars();
if value ~= nil then
if callfuncN ~= nil then
callfuncN(table,key,value)--回调机制
end
else
break
end
end
end
local callfuncN =function(table , key, value)
print("the:",type(table)," the key:",key," the value:",value);
table[key] = value * value
end
print("my ipairs print")
My_ipars(table1,callfuncN)
print("my second print")
for i,v in ipairs(table1) do
print(i,v)
end
用闭包实现ipairs
最新推荐文章于 2022-03-09 18:45:46 发布