バリケンのErlang日記 RSSフィード

2009-06-21

[] リスト 21:58  リスト - バリケンのErlang日記 を含むブックマーク はてなブックマーク -  リスト - バリケンのErlang日記  リスト - バリケンのErlang日記 のブックマークコメント

PythonのリストHaskellのリスト同様、Erlangにもリストがあるよ。リストは、値をカンマで区切って「[ ]」で囲むよ。

1> Channels = [1, 3, 4, 6, 8, 10, 12].
[1,3,4,6,8,10,12]
2> 

Erlangのリストはタプル同様、インデックスを指定して取り出すことはできないよ。リストの場合は[変数1|変数2]という形でパターン照合することで、変数1にリストの先頭要素が、変数2に先頭要素を除いた残りのリストが束縛されるよ。

2> [C1|Channels2] = Channels.
[1,3,4,6,8,10,12]
3> C1.
1
4> Channels2.
[3,4,6,8,10,12]
5> 

先頭2つ分の要素を取り出したいときは、カンマで区切って2つの変数を指定すればいいみたいだよ。

5> [C2, C3|Channels3] = Channels2.
[3,4,6,8,10,12]
6> C2.
3
7> C3.
4
8> Channels3.
[6,8,10,12]
9> 

[] 文字列 22:09  文字列 - バリケンのErlang日記 を含むブックマーク はてなブックマーク -  文字列 - バリケンのErlang日記  文字列 - バリケンのErlang日記 のブックマークコメント

Erlang文字列は、実は「整数のリスト」なんだって。整数のリストがLatin-1 (ISO-8859-1)の範囲内のみで構成されているとき、画面上には文字列として表示されるみたいだよ。

1> Name = [72, 101, 108, 108, 111].
"Hello"
2> 

文字に対応する整数を知りたいときは、$記号を使うよ。

2> $H.
72
3> $e.
101
4> $l.
108
5> $o.
111
6> 
トラックバック - http://erlang.g.hatena.ne.jp/muscovyduck/20090621