Подтвердить что ты не робот

Что такое модуль кортежа в Erlang?

http://www.erlang.org/news/35 упомянул, что это будет задокументировано, но я не могу найти его в документации.

4b9b3361

Ответ 1

Модуль "tuple" - это кортеж с двумя элементами, имя модуля и список дополнительных аргументов. Например:

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

Модули Tuple сохраняются для обратной совместимости, поскольку они были механизмом реализации параметризованных модулей, которые были удалены с языка в R16.