Wenn ich die Argumentposition in function iter2(max,key)
zu iter2(key,max)
vertausche und dasselbe wie iter,1,8
aufrufe, entsteht eine Endlosschleife.Lua Iteratoren: Die Position des Austauscharguments führt zu einer Endlosschleife
function iter2(max,key)
if key == nil then
return 2 , "value:" .. 2
end
if key >= max then
return nil
else
return key+2, "value:" .. key+2
end
end
for k,v in iter2,8,1 do
print(k,v)
end
Was ist der Grund für dieses Verhalten?