1

我想从素数数组名称“素数”中得到一个随机素数。所以我想先生成一个随机整数,然后在那个整数位置得到素数。

这是我的代码:

getPrime :: IO Integer
getPrime =  do 
        pos <- getStdRandom (randomR (10, 100))
        return (primes !! pos)

primes已经存在并且运行良好。)

但是当我加载这段代码时,它说“输入'return'时解析错误”

谁能帮我解决这个问题?谢谢!!!!!!!!!!!!!!!

4

2 回答 2

3

问题一定出在空格上。您必须在缩进中使用带有空格的混合制表符。为了保护自己免受这种情况的影响,在 Haskell 中通常只使用空格缩进。

于 2013-10-12T11:58:17.810 回答
2

问题不在给定的代码中,因为以下代码可以正常工作:

import System.Random

primes = [1..100]

getPrime :: IO Integer
getPrime = do
      pos <- getStdRandom (randomR (10, 100))
      return (primes !! pos)

main = getPrime

我建议从这个开始,然后逐个扩展,看看问题出在哪里。

于 2013-10-12T09:12:51.063 回答