Wenn ich diesen Code ausführen:Parse-Fehler (möglicherweise falsche Einrückungen ...)
test1 :: Int -> String
test1 x = do
if x == 1
then "Hello"
ich die folgende Fehlermeldung erhalten:
test-if.hs:4:21: error:
parse error (possibly incorrect indentation or mismatched brackets)
Ich bin nicht sicher, warum das so ist, wie ich nicht bin Verwenden Sie Klammern und ich verwende 4 Leerzeichen als meine Tabs. Das Hinzufügen von Klammern scheint nicht zu helfen. Was könnte das Problem sein?
Dank
Wo ist dein 'else'? – 4castle
In Haskell muss eine "if" -Anweisung einen Wert über ** beide ** Zweige "zurückgeben" - ohne diese Eigenschaft ist es im funktionalen Sinn nicht wirklich sinnvoll. Der 'if ... then ... else ...' -Ausdruck ist das, was Sie brauchen, und das erfordert 'else'. – hnefatl