相关疑难解决方法(0)

为什么Haskell没有正确地对这些IO操作进行排序?

我的一个朋友问我为什么要学习Haskell.为了演示Haskell的强大功能,我编写了一个小程序,显示了一个素数列表:

main = do
    putStr "Enter the number of prime numbers to display: "
    number <- fmap read getLine :: IO Int
    print . take number . filter isPrime $ [2..]

isPrime :: Integer -> Bool
isPrime n = not . any ((== 0) . mod n) $ [2..floor . sqrt . fromInteger $ n]
Run Code Online (Sandbox Code Playgroud)

该程序按预期工作,除了轻微的异常.它从用户获取输入数字后打印提示消息,产生如下输出:

12
Enter the number of prime numbers to display: [2,3,5,7,11,13,17,19,23,29,31,37]
Run Code Online (Sandbox Code Playgroud)

为什么Haskell没有正确排序IO操作?我哪里错了?

haskell

13
推荐指数
2
解决办法
674
查看次数

标签 统计

haskell ×1