Каким образом pairs и for различают переменные ключе от значений?

Подскажите пожалуйста. Почему в цикле for не используется пропускаемая переменная _ то есть почему for не выглядит как for k, _, in pairs() Я так понимаю если указана только одна переменная для итератора то она получает ключ, верно?

function Set.union (a, b)
local res = Set.new{}
for k in pairs(a) do res[k] = true end
for k in pairs(b) do res[k] = true end
return res
end

Второй пример. Если нам требуется обойти эту таблицу, мы должны определить в посреднике запись __pairs:

mt.__pairs = 
function ()
return function (_, k)
return next(_t, k)
end
end

Какой аргумент и от кого пропустит _, в данном примере?


Ответы (0 шт):