0

如何使用参数访问字典?

在python中我可以做dictionary.get(param) 在lua中有没有等价的?

我想做这样的事情:

function make_object_from_flag(x, y, flag)
 local flag_obj = {
    [1] = make_impassable_object(x, y),
    [2] = make_coin(x,y),
    [4] = make_screen_transition_object(x, y),
 }


 flag_obj.get(flag)
end
4

1 回答 1

3

Lua 只有一个单一的数据结构,它本质上是一个映射(或字典),只是称为“表”。

Lua 中的表索引通常使用方括号[],就像 python 使用数组一样。

所以基本上,正如 Egor Skriptunoff 在他的评论中指出的那样,您想要访问与table 中flag_obj[flag]的键关联的值。flagflag_obj

请注意,尽管在 C 中使用位标志是非常罕见的,并且在 Lua 中性能不是很好,除非有充分的理由,否则通常不应该这样做。

于 2021-05-07T05:28:02.497 回答