代码之家  ›  专栏  ›  技术社区  ›  yazz.com

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

  •  6
  • yazz.com  · 技术社区  · 14 年前

    如果不指定单独的函数,我就无法理解如何导入模块的所有函数。

    3 回复  |  直到 9 年前
        1
  •  10
  •   archaelus    14 年前

    正如Christian所说,“不可能从模块中导入所有函数。”编译器没有 import_all 我认为这样做是为了阻止过度的函数导入。

    导入函数而不是完全限定它们 M:F(...) 通常是不好的风格。调用模块本地函数和另一个模块中的函数(代码加载规则)之间存在语义差异,因此我认为最好是显式地进行外部调用。人们可能会对导入dict/lists/sets模块函数进行例外处理,因为这些函数通常是被理解的,并且在代码升级期间不太可能更改。

        2
  •  7
  •   Christian    14 年前

    不能从模块中导入所有功能。

        3
  •  6
  •   Roberto Aloi    14 年前

    阅读 Erlang Programming Rules :

    不使用-导入,使用它将使 代码很难阅读,因为你不能 直接在哪个模块中看到一个函数 定义。使用ExRef(交叉引用 工具)查找模块依赖项。