以下是haskell的理解,我不明白的是管道符号。它的意思是什么?它在功能中的作用是什么?
boomBangs xs = [ if x < 10 then "BOOM!" else "BANG!" | x <- xs, odd x]
ghci> let xxs = [[1,3,5,2,3,1,2,4,5],[1,2,3,4,5,6,7,8,9],[1,2,4,2,1,6,3,1,3,2,3,6]]
ghci> [ [ x | x <- xs, even x ] | xs <- xxs]
[[2,2,4],[2,4,6,8],[2,4,2,6,2,6]]
答案 0 :(得分:2)
其列表推导的表达式/语法。一个简单的例子如下,
import Data.Char (toUpper)
[toUpper c | c <- s]
你将一个字符串(字符列表),[s]和#34; Hello&#34;传递给生成器[c&lt; - s],这将s的每个字符输入到左侧表达式[ toUpper c],建立一个新列表。这个列表理解的结果将是&#34; HELLO&#34;。