『Erlangプログラミング』を始めました。
1章 イントロダクション
2. Erlangの基礎
文法など
- bignumというか、最大値は存在しない
- GCは自動、メモリリークも基本的に無い
- 全部小文字がアトム、頭大文字が変数
area({square, Side}) -> Side * Side; area({circle, Radius}) -> math:pi() * Radius * Radius; area({triangle, A, B, C}) -> S = (A + B + C)/2, math:sqrt(S*(S-A)*(S-B)*(S-C)); area(Other) -> {error, invalid_objedt}. % 呼び出す時は、area(square,4). で最初の式にヒット
- importを極力書かないのがマナー
- ifとcaseの使い分けがkey
- exportに入れるのは、[関数名/項数]
- フォーマットにはチルダ
- 末尾再帰が絶対的に早かったのは過去の話なので厳密に行いたい場合は計測する
この本
Erlangプログラミング
Francesco Cesarini Simon Thompson 佐藤 嘉一