在下面的主筛:
primes :: [Integer]
primes = sieve [2..]
where
sieve (p:xs) = p : sieve [x|x <- xs, x `mod` p > 0]
x | x <- xs
和x `mod` p > 0
的含义是什么?
答案 0 :(得分:2)
[ x | x <- xs, x `mod` p > 0]
是由x
的元素组成的xs
列表,但只有那些满足x `mod` p > 0
条件的元素(mod
才会返回{ {3}},因此您要求xs
不能被p
整除的元素。