Lua Anfänger hier, versuchen zu lernen, indem Sie tun ... Dies ist mein 4. Tag mit Lua, also bitte mit mir nackt.Lua führen etwas in den Tabellen gespeicherten Schlüssel Wert
Ich möchte eine Tabelle mit bestimmten Namen als Schlüssel und spezifische Funktionen als Werte erstellen. Die Schlüsselnamen stellen Befehle dar, die ein Benutzer eingibt, und wenn ein Schlüssel mit diesem Namen existiert, sollte das Programm den in diesem Schlüsselwert gespeicherten Code ausführen.
So zum Beispiel, machen wir eine Tabelle mit den Tasten und Funktionen innerhalb des Schlüssel-Wert:
local t = {
["exit"] = quitGame,
...,
...
}
und wir haben auch eine Funktion zum Beispiel:
function quitGame()
print("bye bye")
os.exit()
end
so jetzt wir tun:
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
Ich hoffe, Sie verstehen, was ich versuche zu tun.
Das ist genau das, was ich brauchte. Vielen Dank! Eine weitere Frage: Wie verhindere ich, dass das Programm beendet wird, wenn eine Funktion aus der Tabelle aufgerufen wird? Zum Beispiel wenn ich möchte, dass die Funktion etwas ausgibt und dann noch einmal auf die nächste Benutzereingabe wartet? – thee
@thee Letztlich hängt das von Ihrer Umgebung ab, aber in einem Standalone (zum Beispiel) einer Schleife wie 'while true wird userInput = io.read() ... done' funktionieren. –