3

モジュール

Erlangのコードの基本単位。

hoge.erl
-module(hoge).
-export([say_hoge/1]). %関数名/引数の数

say_hoge(a) -> io:format("Hage!~n");
say_hoge(_) -> io:format("Hoge!~n").
実行

>c(hoge). %コンパイル
>hoge:say_hoge(a).

関数呼び出し時、いずれのパターンとも一致しない場合は、実行時エラーで失敗する。

Erlangのコンマ(,)、ピリオド(.)、セミコロン(;)

  • コンマ(,)

関数呼び出し時の引数やデータ構築子、パターンを区切る。

  • ピリオド(.)

関数全体や、シェルにおける式の終端。

節を区切る。(上の例(say_hoge)みたいなパターンの区切り。case式、if式、try...catch式、recieve式とか。)

無名関数fun

Z = fun(square, X) -> X*X;
       (cube, X) -> X*X*X
    end.

終わりにendいるよ。

リスト内包表記(list comprehension)

HaskellとかPythonにあるやつですか?

[X+1 || X <- [1,2,3], X > 1].   % [3,4]

制御構造

  • forループ?なにそれ?

まだ途中