Lua迭代器错误:尝试调用数字值

时间:2016-06-24 12:52:04

标签: lua lua-table luajit

function iter2(key,max)

    if key == nil then
        return 2 , "val:" .. 2
    end

    if key >= max then
        return nil
    else 
        return key+2, "val:" .. key+2
    end

end

如果我调用上面的迭代器,我会收到错误(尝试调用数字值):

for k,v in iter2(1,8) do
    print(k,v)
end

如果我正在使用它可以正常工作:

for k,v in iter2,1,8 do
    print(k,v)
end

任何人都可以解释两种调用方法的区别吗?

0 个答案:

没有答案