Я не могу выяснить, как импортировать все функции модуля, не имея необходимость указывать отдельные функции.
Как говорит Кристиан, «невозможно импортировать все функции из модуля». В компиляторе нет директивы import_all
, и я думаю, что это сделано намеренно, чтобы препятствовать чрезмерному импорту функций.
Импорт функций вместо их полной квалификации M: F (...)
обычно плохой стиль. Существует семантическая разница между вызовом локальной функции модуля и функции в другом модуле (правила загрузки кода), поэтому я считаю, что лучше всего делать внешние вызовы явными. Можно было бы сделать исключения для импорта функций модуля dict / lists / sets, поскольку они обычно понимаются и вряд ли изменятся во время обновления кода.
Чтение из правил программирования Erlang :
Не используйте -import, его использование приводит к код труднее читать, поскольку вы не можете напрямую увидеть, в каком модуле определена функция . Используйте exref (инструмент перекрестных ссылок ), чтобы найти зависимости модулей.