什么| 和 || 在 Erlang 中是什么意思?

slahslah90

我已经检查了 erlang 网站运营商等,但我找不到什么 || 和| 方法。

我在某处读到 || 意思是“这样”,但只有一个“|”是什么意思?

别名

| 是“缺点”运算符:它将一个元素放在列表前面:

1> [1 | [2,3]].
[1,2,3]
2> [[1, 2] | [3,4,5]].
[[1,2],3,4,5]

||用于列表理解。以其最简单的形式,它可以用作 的简写map

3> [2 * X || X <- [1,2,3]].
[2,4,6]

但是当您想编写多个生成器,创建笛卡尔积时,它会变得更加方便:

4> [{X, Y} || X <- [1,2,3], Y <- [4, 5, 6]].
[{1,4},{1,5},{1,6},{2,4},{2,5},{2,6},{3,4},{3,5},{3,6}]

你也可以filter沿途做。相比:

5> [X+Y || X <- [1,2,3], Y <- [4,5,6]].
[5,6,7,6,7,8,7,8,9]

到:

6> [X+Y || X <- [1,2,3], Y <- [4,5,6], X+Y > 6].
[7,7,8,7,8,9]

|运营商是必不可少的,在某种意义上说,它是你如何建立一个新的列表了现有的头元素和列表的尾部的典型方式。相同的表示法也适用于模式匹配,也就是说,这也是解构列表的方式。

另一方面,列表推导式主要是语法糖:它们可以使用常规函数应用程序编写,因此不是语言的基础。但是它们可以通过消除句法噪音,直接在语言中模仿数学符号之类的集合理解来显着提高可读性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章