http://www.erlang.org/news/35提到这将被记录,但我在文档中找不到它。
答案 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中的语言中删除。