我正在Elixir中编写游戏引擎。 (是的,我知道这不是一种固有的语言 - 关键是看非典型语言如何影响结果的结构。)使用元组作为Elixir中的函数的参数
因此,我有几个主管要运行游戏开始 - 但他们应该监督什么取决于游戏。我的想法是让用户在config.exs
文件中列出所需的子元素,以及参数和选项,作为元组列表,然后管理程序本身只需从应用程序环境中提取这些元组并将其内容用作参数worker\2
(或worker\3
,如适用)。
但是,我找不到任何与Python的元组相同的Elixir解包。我可以做我自己用一个简单的功能这个特定的情况下:
def unpack_worker({module, args}) do
worker(module, args)
end
def unpack_worker({module, args, opts}) do
worker(module, args, opts)
end
但是,这充其量感觉笨拙,并且必须要对每一个对我可能需要这种可配置的功能将被再次写入。