我不知道如何导入一个模块的所有函数,而不必指定各个函数。
wsxa1bj11#
正如Christian所说,“不可能从一个模块导入所有函数。”编译器没有import_all指令,我认为这样做是故意的,以阻止过多的函数导入。导入函数而不是完全限定它们M:F(...)通常是不好的风格。调用模块本地函数和另一个模块中的函数之间存在语义差异(代码加载规则),所以我认为最好显式地进行外部调用。导入dict/lists/sets模块函数可能是个例外,因为这些函数是通常理解的,并且在代码升级过程中不太可能改变。
import_all
M:F(...)
ylamdve62#
不可能从模块导入所有函数。
inb24sb23#
阅读Erlang编程规则:不要使用-import,使用它会使代码更难阅读,因为你不能直接看到函数是在哪个模块中定义的。使用exref(交叉引用工具)来查找模块依赖关系。
3条答案
按热度按时间wsxa1bj11#
正如Christian所说,“不可能从一个模块导入所有函数。”编译器没有
import_all
指令,我认为这样做是故意的,以阻止过多的函数导入。导入函数而不是完全限定它们
M:F(...)
通常是不好的风格。调用模块本地函数和另一个模块中的函数之间存在语义差异(代码加载规则),所以我认为最好显式地进行外部调用。导入dict/lists/sets模块函数可能是个例外,因为这些函数是通常理解的,并且在代码升级过程中不太可能改变。ylamdve62#
不可能从模块导入所有函数。
inb24sb23#
阅读Erlang编程规则:
不要使用-import,使用它会使代码更难阅读,因为你不能直接看到函数是在哪个模块中定义的。使用exref(交叉引用工具)来查找模块依赖关系。