在Erlang中,如何从一个模块导入所有函数?

o2rvlv0m  于 2022-12-16  发布在  Erlang
关注(0)|答案(3)|浏览(93)

我不知道如何导入一个模块的所有函数,而不必指定各个函数。

wsxa1bj1

wsxa1bj11#

正如Christian所说,“不可能从一个模块导入所有函数。”编译器没有import_all指令,我认为这样做是故意的,以阻止过多的函数导入。
导入函数而不是完全限定它们M:F(...)通常是不好的风格。调用模块本地函数和另一个模块中的函数之间存在语义差异(代码加载规则),所以我认为最好显式地进行外部调用。导入dict/lists/sets模块函数可能是个例外,因为这些函数是通常理解的,并且在代码升级过程中不太可能改变。

ylamdve6

ylamdve62#

不可能从模块导入所有函数。

inb24sb2

inb24sb23#

阅读Erlang编程规则:
不要使用-import,使用它会使代码更难阅读,因为你不能直接看到函数是在哪个模块中定义的。使用exref(交叉引用工具)来查找模块依赖关系。

相关问题