Erlang在列表中插入元组

时间:2015-04-13 09:26:44

标签: erlang tuples

这是一个例子,我正在努力实现:

CASE I

>Fn = fun(X) -> {X, 3} end.
>A = {{1,2}, {3, 4}, Fn(8)}.
>{{1,2},{3,4},{8,3}}

这很好用。但是在多个元组的情况下

CASE II

>Fn2 = fun(X) -> {X, 3},{7,5} end. 
>A1 = {{1,2}, {3, 4}, Fn2(8)}.
>{{1,2},{3,4},{7,5}}

请建议我解决方案,以便我可以为 CASE II

取得以下结果
>{{1,2},{3,4},{8, 3}, {7,5}}

2 个答案:

答案 0 :(得分:6)

首先,解释在第二种情况下会发生什么:当你写Fn2 = fun(X) -> {X, 3},{7,5} end时,它意味着“给定X,创建并丢弃元组{X, 3},然后返回元组{{1} }。

你似乎也混淆了元组和列表。元组不是这样使用的;它们用于固定尺寸的结构。如果您真的想要获得一个列表,那很简单:

{7, 5}

答案 1 :(得分:3)

我认为你需要使用list([...])而不是tuple({...}):

> Fn3 = fun(X) -> [{X, 3},{7,5}] end.
> [{1,2}, {3, 4}| Fn3(8)].            
[{1,2},{3,4},{8,3},{7,5}]