5

是否可以按顺序对两个列表逐项使用列表推导?给定A = [1,2,3],,B = [4,5,6]得到一些C = [f(1, 4), f(2, 5), f(3, 6)]。换句话说,一种更直接/更有效的方式[f(U, V) || {U, V} = lists:zip(A, B)].

类似的问题适用于二进制文件,如果给定A = <<1,2,3>>and B = <<4,5,6>>。例如,如果您必须对两个二进制文件进行异或运算,这将非常有用。

4

2 回答 2

8

目前是不可能的。它已经在EEP12EEP19中提出。

您最好的选择是为此实现自己的递归函数。

于 2009-12-17T18:05:29.470 回答
2

模块中已经有一个高阶函数,lists它被称为lists:zipwith/3。您的示例场景将以这种方式实现:

lists:zipwith(fun f/2, A, B).
于 2009-12-18T18:30:52.700 回答