Je suis (débutant lua/3 jours) en essayant d'appeler une fonction stockée dans une table de lua comme dans le code suivantDans Lua, comment appeler une fonction stockée dans une table en utilisant l'index de la table?
function sayhello()
return "hello";
end
function saygoodbye()
return "goodbye";
end
funct = {
["1"] = sayhello,
["2"] = saygoodbye,
["name"] = "funct"
};
function say(ft,index)
local name = ft.name;
print("\nName : " .. name .. "\n");
local fn = ft.index;
fn();
end
say(funct,"1"); -- attempt to call local 'fn' (a nil value)
say(funct,"2"); -- attempt to call local 'fn' (a nil value)
-- the Name funct prints in both cases
Je reçois l'erreur tentative d'appeler « fn » (une valeur nulle) locale Le nom funct est imprimé dans les deux appels say.
Merci
Pas besoin de points-virgules dans Lua. – lhf