erlang 元组元素的提取

368yc8dk  于 2022-12-08  发布在  Erlang
关注(0)|答案(3)|浏览(156)

给定一个具有一个元组的列表:

[{4,1,144}]

如何在列表中提取元组的第一个元素:

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

您有更简单的解决方案吗?

relj7zay

relj7zay1#

试试这个:

1> A = [{3,1,1444}].
[{3,1,1444}]
2> [{X, _, _}] = A.
[{3,1,1444}]
3> X.
3
4>
9rygscc1

9rygscc12#

如果你得到的就是你所陈述的,一个只有一个元组的列表,那么更简单的方法是(使用元素/2)

element(1, hd(L)).

像shk建议的模式匹配变体可能更好,这取决于上下文。

trnvg8h3

trnvg8h33#

如果您希望将一些语义嵌入到元组中,也可以考虑使用记录语法

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

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

所有的记录实际上都是元组,你不必担心元组中元素的顺序,也不必担心添加/删除元素。

相关问题