Lua principiante qui, cercando di imparare facendo ... Questo è il mio quarto giorno con Lua, quindi per favore nuda con me.Lua esegue qualcosa memorizzato nelle tabelle valore chiave
Voglio creare una tabella con nomi specifici come chiavi e funzioni specifiche come valori. I nomi delle chiavi rappresentano comandi che un utente inserisce e se esiste una chiave con quel nome, allora il programma dovrebbe eseguire il codice memorizzato in quel valore di chiavi.
Così, per esempio, facciamo un tavolo con i tasti e funzioni all'interno il valore della chiave:
local t = {
["exit"] = quitGame,
...,
...
}
e abbiamo anche una funzione, ad esempio:
function quitGame()
print("bye bye")
os.exit()
end
così ora che facciamo:
userInput = io.read()
for i,v in pairs(t) do
if userInput == i then
--now here, how do I actually run the code that is stored in that key value (v)?
end
end
Spero che tu capisca cosa sto cercando di fare.
Questo è esattamente ciò di cui avevo bisogno. Grazie! Ancora una domanda, come faccio a interrompere la chiusura del programma quando viene chiamata una funzione dalla tabella? Ad esempio, se desidero che la funzione stampi qualcosa e quindi attendi di nuovo per il successivo inserimento dell'utente? – thee
@thee In ultima analisi ciò dipende dal proprio ambiente, ma in un file standalone (ad esempio) un ciclo come 'while true do userInput = io.read() ... done' funzionerà. –