迭代作为参数传递给lua中的函数的表

时间:2015-06-16 12:53:33

标签: for-loop lua iterator lua-table

我正在尝试使用for _ in pairs()表示法迭代函数中的表,但如果我输入任何内容,甚至像print('asdgfafs')这样的乱码,嵌套在for循环中,它就永远不会打印出来。代码:

record = {bid1,bid2,bid3}
bid1 = {bidTime = 0.05,bidType = 'native'}
bid2 = {bidTime = 0.1,bidType = 'notNative'}
bid3 = {bidTime = 0.3,bidType = 'native'}

function getBids(rec,bidTimeStart,bidTimeFinish,bidType,numberOfBids)
    wantedBids = {}
    bidCount = 0

    for i,v in pairs(rec) do
        print('asdfasdfasdfa')
        print(i .. ' + ' .. v)
    end
end

getBids(record,0,1,'native',5)

任何人都可以告诉我原因并建议解决方法吗?

1 个答案:

答案 0 :(得分:1)

您在创建record表之前创建了bid#

因此,当您执行record = {bid1, bid2, bid3}时,尚未创建任何bid#变量,因此它们都是nil。因此该行有效record = {nil, nil, nil},显然,它不会为record表提供任何值。

record变量创建之后,反转这些行以放置bid#作业