1

Erlang に組み込み関数を忘れさせて、その名前を使用できるようにする方法はありますか?

例えば。取得を忘れる

4

1 に答える 1

6

ここには少し混乱があります。

  1. retrieveは組み込み関数ではありません。receive
  2. receiveは組み込み関数ではなく、ifcaseendなどによく似た言語の特別なトークンです。これらは変更できません。
  3. BIF はほとんどがerlangモジュールに実装されており、これを再定義することはできません
  4. の BIF の多くは、erlangモジュールなどで自動インポートされます。モジュール ローカルな定義はこれらを引き継ぎます。それ以外の場合は、構文上のショートカットになりerlang:MyBif(...)ます。
  5. シェルはこれらの自動インポートを複製しますが、追加機能も提供します。技術的には BIF ではありません。シェル コマンドを参照してください。
  6. user_default独自のモジュールを構成することで、シェルの自動インポートをオーバーライドできます。これらはシェルでのみ機能します。
  7. モジュールでの自動インポートを回避するには、-compile({no_auto_import,[Name/N]}).モジュール属性を使用して、Name(...)常にローカル関数を使用するようにします。
于 2015-08-08T16:14:28.710 に答える