【问题标题】:Lua equivalent of dictionary.get() method?Lua相当于dictionary.get()方法?
【发布时间】:2021-07-29 09:30:58
【问题描述】:

如何使用参数访问字典?

在 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

【问题讨论】:

  • flag_obj[flag]

标签: lua lua-table pico-8


【解决方案1】:

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

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

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

请注意,尽管像在 C 中那样使用位标志在 Lua 中非常少见且性能不佳,除非有充分的理由,否则通常不应这样做。

【讨论】:

  • 非常感谢。我使用标志是因为我在 pico-8 中编码,这就是内置系统。出于某种原因,flag_obj[flag] 仍然给我一个语法错误,我将假设它与 pico 有关
猜你喜欢
  • 2010-12-23
  • 2014-03-06
  • 2016-06-23
  • 2021-12-31
  • 1970-01-01
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多