1

素数配列名「primes」からランダムな素数を取得したい。したがって、最初にランダムな整数を生成し、次にその整数位置で素数を取得したいと考えています。

これが私のコードです:

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 に答える