2017-05-02 2 views
-3

以下は、私が理解していないのはパイプ記号です。それは何を意味し、その機能における役割は何ですか?パイプシンボルはどういう意味ですか?

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]] 
+4

"パイプ"を意味しますか?そしてあなたは理解のチュートリアルを読んだことがありますか?まともなガイドがこれを必ずカバーします。 – Carcigenicate

答えて

1

リストの理解のための表現/構文。簡単な例では、あなたが発電機に[< C - S]、「こんにちは」、[S]、(文字のリスト)文字列を渡す以下、

import Data.Char (toUpper) 
[toUpper c | c <- s] 

あり、これは、秒の各文字を供給します左手の式[toUpper c]、新しいリストを作成する。このリストの理解の結果は "HELLO"になります。

+0

この記法は、数学的集合記法に大きく影響されています。https://wikimedia.org/api/rest_v1/media/math/render/svg/19e5efdbd0e7c51808d2a463128b2cdf2afb8ff4(トーラスの定義)を参照してください。 – epsilonhalbe

関連する問題