Я пытаюсь использовать нотацию for _ in pairs()
для итерации по таблице внутри функции, но если я набираю что-нибудь, даже тарабарщину, как print('asdgfafs')
, вложенную внутри цикла for, она никогда не печатается. Код:Итерирование по таблице, переданной как аргумент функции в lua
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)
Может ли кто-нибудь сказать мне, почему и предложить обходной путь?
Я такой дебил .. работал с node.js всю неделю, когда вы видите, я забыл, что другие языки не были асинхронными! Большое спасибо. – user2412643
Это не имеет ничего общего с синхронным или асинхронным. Этот точный код кода в node.js также не удался. Вы не можете использовать переменную перед ее определением. Однако в javascript все определения переменных поднимаются так: var x; code1; var y; code2; var z' фактически определяет все переменные в начале блока. Если вы добавите 'локальную запись, bid1, bid2, bid3' в начало этого фрагмента, то это будет работать по той же причине. В качестве альтернативы, выведите «var» из javascript, и он может выйти из строя (хотя объявленная переменная подъема может даже произойти неявно, я не помню, как это было неправильно). –
О, я просто предположил, что не существует эквивалента javascript's var in lua? Итак, локальный эквивалент var javascript? – user2412643