What is a tuple module in Erlang?

左心房为你撑大大i 提交于 2020-01-20 04:54:11

问题


http://www.erlang.org/news/35 mentioned that this will be documented, but I can't find it in the documentation.


回答1:


A "tuple module" is a tuple with two elements, the name of a module and a list of extra arguments. For example:

{my_module, [foo, bar]}

Such a tuple can be used instead of a module name in function calls. In this case, the function being called will get the tuple in question as an additional argument at the end of the argument list:

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

This call is equivalent to:

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

Tuple modules are kept for backwards compatibility, as they were the implementation mechanism for parameterised modules, which were removed from the language in R16.



来源:https://stackoverflow.com/questions/16960745/what-is-a-tuple-module-in-erlang

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!