什么是|| 在Erlang意味着什么?

why*_*why 9 erlang

我发现有一个||列表操作.什么||意思?有什么例子||吗?

lists:sum([A*B || {A, B} <- Foo]).
Run Code Online (Sandbox Code Playgroud)

Jon*_*nas 27

它用于List comprehensions.列表推导是一种创建列表的简短方法,无需使用乐趣,地图或过滤器.

编程Erlang:

如果我们有一个清单L:

L = [1,2,3,4,5].
Run Code Online (Sandbox Code Playgroud)

我们希望将每个元素加倍,我们可以做到:

lists:map(fun(X) -> 2*X end, L).
Run Code Online (Sandbox Code Playgroud)

但是使用List理解我们可以做到:

[2*X || X <- L].
Run Code Online (Sandbox Code Playgroud)


spk*_*ira 11

命名法最有可能来自集合的数学概念,其中|| 意思是"这样".

例如从维基百科复制

F = {n2 - 4:n是整数; 和0≤n≤19}

在这种表示法中,冒号(":")表示"这样",并且描述可以解释为"F是形式n2-4的所有数字的集合,使得n是从的范围内的整数0到19,包括在内." 有时使用垂直条("|")代替冒号.

应用相同的东西

lists:sum([A*B || {A, B} <- Foo]).
Run Code Online (Sandbox Code Playgroud)

意味着: - 生成A*B,使得A和B属于元组列表"Foo"