【问题标题】:Getting the Erlang shell to forget a BIF让 Erlang shell 忘记 BIF
【发布时间】:2015-10-31 19:57:27
【问题描述】:

有什么方法可以让 Erlang 忘记内置函数,以便我可以使用该名称?

例如。忘记找回

【问题讨论】:

    标签: erlang erlang-shell erl


    【解决方案1】:

    这里有点混乱。

    1. retrieve 不是内置函数,你可能会想到receive
    2. receive 不是内置函数,而是语言中的特殊标记,很像ifcaseend 等。这些不能修改。
    3. BIF 大多在erlang 模块中实现,不能重新定义这个
    4. erlang 中的许多 BIF 在模块等中自动导入。任何模块本地定义都将接管这些,否则它们是erlang:MyBif(...) 的语法快捷方式。
    5. shell 复制了这些自动导入,但也提供了附加功能。它们在技术上不是 BIF。见Shell Commands
    6. 您可以通过配置自己的user_default 模块来覆盖shell 的自动导入。这些只能在 shell 中工作。
    7. 为避免在模块中自动导入,请使用 -compile({no_auto_import,[Name/N]}). 模块属性,以便 Name(...) 始终使用本地函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 2013-10-24
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多