9

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

4

1 回答 1

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]]}]

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

于 2013-06-06T12:53:50.330 回答