Erlangのメモテクニック

1650 ワード

1、and orとandalso orelseの違い
andとorは両方の式を計算しますが、andalssoとorelseの評価は短絡機構を採用しています.例えばexp 1 andalsso exp 2は、exp 1がfalseを返した後、exp 2を求めずにfalseを直接返します.exp 1 and exp 2はexp 1とexp 2を評価します.orはorelseと似ています.
2、Erlangでは「=<で表され、一般言語では「=文法」ではなく、同じように/番号で表されます.たとえば/=、=/=です.
3、Erlangの保留字は以下の通りです.
after and andalso band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse query receive rem try when xor
基本的には論理演算、ビット演算、特殊な式に使用される記号です
4、モジュールの事前定義属性:-module(Module).はモジュール名を宣言し、ファイル名と同じ-export(Functions).が外部に導出した関数リスト-import(Module,Functions).を指定して関数を導入しなければならない.導入した関数は、ローカル定義の関数として-compile(Options).を使用して、export_all -vsn(Vsn).モジュールのバージョンです.これが設定されています.beam_lib:version/1でこの情報を取得できます.-includeと-include_libはファイルを含みます.include-libは絶対パスでファイルを検索するのではなく、現在のErlangのlibディレクトリで検索します.
5、マクロ、定数または関数などを定義します.構文は次のとおりです.-define(Const,Replacement)-define(Func(Var1,...,VarN), Replacement).使用するときにマクロ名に疑問符を付けますか?例えば?Const,Replacementはマクロが現れる場所を挿入します.システムはいくつかのマクロを事前に定義しました:?MODULE  
?MODULE_STRING ,  
?FILEの現在のモジュールのファイル名?LINE呼び出しの現在のコード行数?MACHINEマシン名ErlangのマクロはC言語のマクロとよく似ています.同様にマクロインジケータがあります.
  • -undef(Macro).
  • マクロ定義をキャンセル
  • -ifdef(Macro).
  • マクロMacroに定義がある場合、以下のコード
  • を実行する.
  • -ifndef(Macro).
  • 同上、逆
  • -else.
  • はifdefまたはifndefに続く、前者の条件を満たさない場合に次のコード
  • が実行されることを示す.
  • -endif.
  • if終端子
  • マクロ-define(Square(X)、X*X)を仮定する.平方を計算するのに使いますが、それでは??Xは、C言語のargのようなX式の文字列形式を返します.