小编Net*_*rar的帖子

修改haskell函数以正确运行

我有以下haskell代码:

a (b : bs) = b : [c | c <- (a bs), c `rem` b /= 0]
Run Code Online (Sandbox Code Playgroud)

有人可以解释这段代码的作用吗?运行as

a [3,5..42]
Run Code Online (Sandbox Code Playgroud)

回报

  Prelude> a [3,5..42]
[3,5,7,11,13,17,19,23,29,31,37,41*** Exception: <interactive>:71:1-46: Non-exhaustive patterns in function a
Run Code Online (Sandbox Code Playgroud)

从我所看到的,该功能就像Eratosthenes的Sieve一样.该函数将b视为素数并过滤掉b的倍数.但我不确定如何.最重要的是,该函数抛出此异常.

primes haskell list

0
推荐指数
1
解决办法
66
查看次数

标签 统计

haskell ×1

list ×1

primes ×1