【发布时间】:2016-01-13 04:53:28
【问题描述】:
我发现列表操作中有一个||。 || 是什么意思?有没有关于||的例子?
lists:sum([A*B || {A, B} <- Foo]).
【问题讨论】:
标签: erlang
我发现列表操作中有一个||。 || 是什么意思?有没有关于||的例子?
lists:sum([A*B || {A, B} <- Foo]).
【问题讨论】:
标签: erlang
用于List comprehensions。列表推导式是一种无需使用乐趣、地图或过滤器即可创建列表的更短的方法。
如果我们有一个列表 L:
L = [1,2,3,4,5].
而且我们想将每个元素加倍,我们可以这样做:
lists:map(fun(X) -> 2*X end, L).
但是通过列表推导我们可以做到:
[2*X || X <- L].
【讨论】:
命名法很可能来自集合的数学概念,其中 ||意思是“这样”。
F = {n2 − 4 : n 是整数;且 0 ≤ n ≤ 19}
在这种表示法中,冒号(“:”)表示“这样”,描述可以解释为“F是n2-4形式的所有数的集合,这样n是一个整数范围从 0 到 19(含)。”有时使用竖线(“|”)代替冒号。
应用同样的东西
lists:sum([A*B || {A, B} <- Foo]).
意思是:- 生成 A*B 使得 A 和 B 属于元组列表 "Foo"
【讨论】: