返回一个由元组中的元素组成的列表

时间:2010-09-11 14:46:53

标签: erlang

如何返回,例如元组的第一个元素?

我想获取2个元素元组的列表,并将每个元组的第二个元素作为新列表返回。

4 个答案:

答案 0 :(得分:2)

1> P = {adam,24,{july,29}}.
{adam,24,{july,29}}
2> element(1,P).
adam
3> element(3,P).
{july,29}

另请参阅:http://www.erlang.org/doc/reference_manual/data_types.html#id2259804

答案 1 :(得分:2)

你可以使用list:map(虽然不像列表理解这么简单):

列出:地图(fun({_,X}) - > X end,[{a,b},{c,d},{e,f}])。

答案 2 :(得分:1)

确切地说你问的是什么:
666> [element(2,X)|| X< - [{1,2},{3,4}]] [2,4]

答案 3 :(得分:1)

嗯,是的,元素/ 2 +理解将起作用。但最好的方法是模式匹配:

[Var2 || {_Var1,Var2}< - [{1,2},{3,4}]]

由于代码简单,每个模式匹配都优于函数调用。

所以,你所拥有的是列表理解(列表中的双管道)。在管道(右侧)之前有发电机,左侧是产品。

一般:

List = [ReturnedValue = some_function(X)|| X< - GeneratorList,X = / =条件]