テーブルに関数を格納することができました。しかし、今私はどのようにそれらを呼び出すのか分からない。最終的なテーブルには約100回の呼び出しがありますので、可能であればforeachループのように呼び出していきたいと思います。ありがとう!関数定義AAANDLua - テーブルに格納された関数を実行する
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
:ここ
は、表が定義されていた方法です
function on_scene(sceneId)
-- some code
return sceneId
end
function talk(areaId)
-- some code
return areaId
end
EDIT:彼らは少しを持っていますので、私は機能を変更
より多くの文脈。基本的には、文字列を返します。 私は、関数を呼び出す最後に、これらの文字列をすべて含むテーブル(理想的にはレベルテーブル)を用意しています。
ループでどのように呼び出すべきか、どのようにしたいかははっきりしません。おそらくあなたは擬似コードを説明して与えることができます。 BTW-Luaにはポインタがありません。関数は 'function'型の値であり、式のどこでも使用できます。 –
@TomBlodget、それを指摘してくれてありがとう。私はそれを訂正した。 – brain56