web-dev-qa-db-ja.com

タプルの要素の抽出

1つのタプルを含む1つのリストがあるとします。

[{4,1,144}]

タプルの最初の要素を抽出する方法:

element(1,lists:nth(1,L))

より簡単な解決策はありますか?

24
Bertaud

これを試して:

1> A = [{3,1,1444}].
[{3,1,1444}]
2> [{X, _, _}] = A.
[{3,1,1444}]
3> X.
3
4> 
35
0xAX

あなたが正確にあなたが述べたものを得るとすれば、1つのタプルを持つリストはさらに簡単になります( element/2 を使用)

element(1, hd(L)).

Shkが提案するようなパターンマッチングバリアントは、コンテキストによってはおそらくさらに優れています。

28
E Dominique

タプルに埋め込まれたセマンティクスが必要な場合は、レコード構文の使用を検討することもできます

-record(x, {y, z}).

1> A = #x{y=b, z=c}.
2> A#x.y.
b

すべてのレコードは実際にはタプルであり、そのタプル内の要素の順序や、要素の追加/削除について心配する必要はありません。

4
keymone