erwartet Partner I Lernen Haskell gerade erst begonnen, und ich bin auf unter einen Haufen von anderen auf diesem Fehler steckenHaskell konnte nicht Typ [char] mit tatsächlichen Typ IO
Ich versuche, alle Zeichen zu drucken in der Char-Liste rekursiv mit diesem Code
printall :: [Char] -> [Char]
printall "" = ""
printall (i:is) = if is /= "" then print i else printall is
main = printall "hello world"
aber ich bekomme diesen Fehler konnte mir jemand helfen?
intro.hs:14:36: error:
• Couldn't match expected type ‘[Char]’ with actual type
‘IO()’
• In the expression: print i
In the expression: if is /= "" then print i else printa
ll is
In an equation for ‘printall’:
printall (i : is) = if is /= "" then print i else p
rintall is
intro.hs:16:1: error:
• Couldn't match expected type ‘IO t0’ with actual type ‘
[Char]’
rechtfertigen Bitte den Typ Signatur, die Sie 'printall' gab, oder vielleicht ist es einfach entfernen und sehen, was passiert. –
@ n.m. Ich denke, die Typ-Signatur ist redundant, der gleiche Fehler bleibt ohne sie – SirTee
Großartig, jetzt haben Sie diese "printall" "=" "'Zeile, und auch' printall (i: ist) 'Zeile. Letzterer hat "print i" im 'then'-Zweig und' printall is' im 'else'-Zweig. Die Typen der beiden Ausdrücke sollten gleich sein. Sind sie? –