Erlang中的元组模块是什么?

时间:2013-06-06 11:17:18

标签: module erlang tuples

http://www.erlang.org/news/35提到这将被记录,但我在文档中找不到它。

1 个答案:

答案 0 :(得分:12)

“元组模块”是一个元组,包含两个元素,一个模块的名称和一个额外参数列表。例如:

{my_module, [foo, bar]}

可以在函数调用中使用这样的元组而不是模块名。在这种情况下,被调用的函数将获得有问题的元组作为参数列表末尾的附加参数:

3> Module = {lists, [[foo]]}.
{lists,[[foo]]}
4> Module:append([bar]).
[bar|{lists,[[foo]]}]

此调用相当于:

7> lists:append([bar], {lists, [[foo]]}).
[bar|{lists,[[foo]]}]

保留元组模块是为了向后兼容,因为它们是parameterised modules的实现机制,已从R16中的语言中删除。