list_to_tuple([Ai + Bi || {Ai, Bi} <- lists:zip(tuple_to_list(A), tuple_to_list(B))]).
或者,如果您要逐一查看Tuple:
sum_tuples(A, B) ->
list_to_tuple(sum_tuples_iterate(A, B, 1, [])).
sum_tuples_iterate(A, _B, I, Acc) when I > tuple_size(A) ->
lists:reverse(Acc);
sum_tuples_iterate(A, B, I, Acc) ->
sum_tuples_iterate(A, B, I+1, [element(I, A) + element(I, B) | Acc]).
3条答案
按热度按时间7cjasjjr1#
假设两个元组的大小相同,最简单的方法是将元组转换为列表,遍历它们,然后再次创建一个元组,如下所示:
或者,如果您要逐一查看Tuple:
4dbbbstv2#
其中一个办法是:
这利用了元组应该是有限的这一事实
j5fpnvbx3#
我们可以使用模式匹配将此逻辑封装在一个简单的函数中: