在erlang中添加两个不同大小的元组

时间:2016-02-01 16:57:12

标签: erlang

我是erlang的新手,我想弄清楚如何在erlang中添加两个不同大小的元组,例如我想添加以下元组

[{{"f"},2},{{"e","r"},3}]

生成以下元组

[{"f","e","r"},5}]

我尝试使用insert_element / 3但没有运气,这是我的尝试:

[H1,H2|T]=[{{"f"},2},{{"e","r"},3}],
{Key1,Value1} = H1,
{Key2,Value2} = H2,
insert_element(1, {Key1,Value1+Value2},Key2).

导致以下输出:

{{"e","r"},{"f"},5}

1 个答案:

答案 0 :(得分:1)

如果您事先不知道元组的长度,连接它们的最简单方法是将它们转换为tuple_to_list的列表,连接列表,然后将结果转换回来到list_to_tuple的元组:

> Tuple1 = {"f"}.
{"f"}
> Tuple2 = {"e", "r"}.
{"e","r"}
> list_to_tuple(tuple_to_list(Tuple1) ++ tuple_to_list(Tuple2)).
{"f","e","r"}