私はこのコードを実行すると:解析エラー(おそらく間違ってインデント...)
test1 :: Int -> String
test1 x = do
if x == 1
then "Hello"
を私は次のエラーを取得する:
test-if.hs:4:21: error:
parse error (possibly incorrect indentation or mismatched brackets)
私はないです、これは、なぜわかりません角かっこを使用し、私は4つのスペースをタブとして使用しています。角括弧を追加することは役に立たないようです。何が問題なの?
おかげ
あなたの 'else'はどこですか? – 4castle
ハスケルでは、 "if"ステートメントは両方の**ブランチに沿って値を "返す"必要があります - このプロパティがなければ、実際には機能上意味をなさない。 'if ... then ... else ...'式は必要なもので、 'else'が必要です。 – hnefatl