Ich konnte Funktionen in einer Tabelle speichern. Aber jetzt habe ich keine Ahnung, wie ich sie aufrufen soll. Die finale Tabelle wird ungefähr 100 Aufrufe haben. Wenn möglich, möchte ich sie wie in einer foreach-Schleife aufrufen. Vielen Dank!Lua - Ausführen einer in einer Tabelle gespeicherten Funktion
Hier ist, wie die Tabelle definiert wurde:
game_level_hints = game_level_hints or {}
game_level_hints.levels = {}
game_level_hints.levels["level0"] = function()
return
{
[on_scene("scene0")] =
{
talk("hint0"),
talk("hint1"),
talk("hint2")
},
[on_scene("scene1")] =
{
talk("hint0"),
talk("hint1"),
talk("hint2")
}
}
end
aaand die Funktionsdefinitionen:
function on_scene(sceneId)
-- some code
return sceneId
end
function talk(areaId)
-- some code
return areaId
end
EDIT:
ich die Funktionen verändert, so dass sie ein wenig haben werden mehr Kontext. Im Grunde geben sie jetzt Strings zurück. Und was ich mir erhofft hatte ist, dass ich am Ende des Aufrufs der Funktionen eine Tabelle (idealerweise die Levels-Tabelle) mit all diesen Strings haben werde.
Es ist nicht klar, wie oder was Sie in der Schleife aufgerufen werden soll. Vielleicht kannst du Pseudo-Code erklären und geben. BTW-Lua hat keine Zeiger. Funktionen sind Werte vom Typ 'function' und können überall in Ausdrücken verwendet werden. –
@TomBlodget, vielen Dank, dass Sie darauf hingewiesen haben. Ich habe es korrigiert. – brain56