İlk bağımsız değişken olarak bir dosya tanıtıcısı alan bir hata ayıklama yazdırma işlevi oluşturmaya çalışıyorum. Ben argümanlar içinde nil
değeri geçemiyor gibi bu işlev sürece çalışırLua'da, nil içeren varargs işlemek için doğru yolu nedir?
function fprint (f, ...)
for i, v in ipairs{...} do
f:write(tostring(v))
f:write("\t")
end
f:write("\n")
end
: Birincisi, böyle bir işlevi yazın. Ancak bunu nil
ile çağırırsam, nil
değerini ve argümanların kalanını yazdırmaz.
fprint(io.stderr, 1, 2, nil, 3)
=> prints only 1 and 2
Peki, bu sorunu düzeltmenin doğru yolu nedir?
Tatlı! Seçimi bilmiyordum. – torus
En kullanışlı eklenti, artık tabloyu açamazsınız. Ambalajı açmak için: 'local tbl = {n = select (" # ", ...), ...}; yazdır (paketten (tbl, 1, tbl.n)); ' – Aidiakapi
Bu cevap resmi wiki'de ayrıntılı olarak tartışıldı: http://lua-users.org/wiki/VarargTheSecondClassCitizen –