En Lua, ¿cuál es la forma correcta de manejar varargs que contiene nil?
Estoy tratando de crear una función de impresión de depuración que tome un identificador de archivo como primer argumento. Primero, escribo una función como esta:
function fprint (f, ...)
for i, v in ipairs{...} do
f:write(tostring(v))
f:write("\t")
end
f:write("\n")
end
Esta función funciona mientras no pasenil
valor en argumentos. Pero si llamo a esto con unnil
, no imprime elnil
valor y resto de argumentos.
fprint(io.stderr, 1, 2, nil, 3)
=> prints only 1 and 2
Entonces, ¿cuál es la forma correcta de solucionar este problema?