プログラミングElixir読書メモ 第4章
第4章 Elixirの基礎
Elixirの組み込みの型
値型
-
任意の大きさの整数型(integer)
-
浮動小数点数(floating-point nmber, float)
-
アトム(atom)
-
範囲(range)
-
正規表現(regular-expression)
システム型
-
PIDとポート(port)
-
リファレンス(reference)
コレクション型
- タプル(tuple)
- リスト(list)
- マップ(map)
- バイナリ(binary)
整数
10進法、16進法、8進法、2進法で書くことができる。
10進数はアンダースコア(_)を含むことができる。3桁で区切って可読性を上げたりできる。
整数には決まった最大値はない。その数に合った内部表現が使われる。
浮動小数点数
精度はIEEE754の倍精度。
アトム
ある何かのなまえを表現する定数で、コロン(:)から始める。
Rubyのシンボル的な感じかな。
範囲
start..endと書いて表す。
正規表現
~r{regexp} や ~r{regexp}opts のように書いて表す。
PIDとポート
PIDはローカル、あるいはリモートのプロセスへの参照。
ポートは読み書きするリソースへの参照。
リファレンス
make_ref関数で生成する。グローバルで一意。
タプル
順序を持ったコレクション。
波括弧{}で要素を囲う。
2〜4個の要素をもつが、それ以上になる場合はマップか構造体を使ったらいいらしい。
リスト
連結データ構造。で要素を囲う。
キーワードリスト
[name: "Dave", city: "Dallas", likes: "Programming"]
↓
[{:name, "Dave"}, {:city, "Dallas"}, {:likes, "Programming"}]
関数呼び出しの最後がキーワードリストなら、を省略できる。
マップ
キーとバリューのコレクション。
%{key => value, key => value}
キーはタプルやアトムでも良い。マップ内でキーの型はバラバラでもいい。
バイナリ
<<と>>で囲う
演算子
「a === b」とかできる。動的言語だ。