【发布时间】:2013-06-12 22:13:20
【问题描述】:
我能够将函数存储到表中。但现在我不知道如何调用它们。决赛桌将有大约 100 次调用,所以如果可能的话,我想像在 foreach 循环中一样调用它们。谢谢!
这是表的定义方式:
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
Aa和函数定义:
function on_scene(sceneId)
-- some code
return sceneId
end
function talk(areaId)
-- some code
return areaId
end
编辑:
我修改了函数,以便它们有更多的上下文。基本上,它们现在返回字符串。 我希望发生的是,在调用函数结束时,我将有一个包含所有这些字符串的表(最好是级别表)。
【问题讨论】:
-
不清楚您希望在循环中如何或调用什么。也许你可以解释并给出伪代码。顺便说一句——Lua 没有指针。函数是
function类型的值,可以在表达式中的任何位置使用。 -
@TomBlodget,感谢您指出这一点。我更正了。
标签: function lua function-pointers lua-table