1

次のコードを私のコードと考えてください

 import Data.Char
 import Data.List

-- square
square :: Int -> Int
square n = n * n

この正方形の関数はきれいに見えますが、実行すると

ghci ./square.hs

戻ります

[1 of 1] Compiling Main             ( ./LabSheet1-solns.hs, interpreted )

./LabSheet1-solns.hs:5:1:
    parse error on input `square'
Failed, modules loaded: none.

私の通訳に何か問題があるはずです。

OSX10.8.1で実行しています

$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 7.4.2

どんな手掛かり?

4

2 に答える 2

10

ステートメントimportは1つのスペースでインデントされます。これは基本的に、ファイルの基本インデントレベルとして「1つのスペース」を設定します。の定義はsquare1つのスペースでインデントされていないため、構文エラーが発生します。

この問題を解決するには、すべての行を1スペースインデントするか、できればimportステートメントをインデントしないでください。

于 2012-11-20T12:10:56.483 に答える
5

インデントを修正します。

import Data.Char
import Data.List

-- square
square :: Int -> Int
square n = n * n
于 2012-11-20T12:10:24.023 に答える