В Erlang, как я могу импортировать все функции из модуля? - PullRequest
8 голосов
/ 24 марта 2010

Я не могу понять, как импортировать все функции модуля без необходимости указывать отдельные функции.

Ответы [ 3 ]

12 голосов
/ 24 марта 2010

Как говорит Кристиан: «Невозможно импортировать все функции из модуля». Компилятор не имеет директивы import_all, и я думаю, что это сделано намеренно, чтобы не допустить чрезмерного импорта функций.

Импорт функций вместо полной их квалификации M:F(...) обычно плохой стиль. Существует семантическая разница между вызовом функции локального модуля и функцией в другом модуле (правила загрузки кода), поэтому я думаю, что лучше делать явные внешние вызовы. Можно было бы сделать исключения для импорта функций модуля dict / lists / sets, поскольку они обычно понятны и вряд ли изменятся во время обновления кода.

7 голосов
/ 24 марта 2010

Невозможно импортировать все функции из модуля.

6 голосов
/ 24 марта 2010

Чтение из Правил программирования Erlang :

Не используйте -import, использование делает код труднее читать, так как вы не можете прямо посмотри в каком модуле работает функция определено. Использовать exref (перекрестная ссылка Инструмент), чтобы найти зависимости модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...