Wenn dies funktioniert:Haskell Funktion Zusammensetzung Frage
Prelude Data.Char> map toUpper ("sdfsd" ++ "dfgfdg")
"SDFSDDFGFDG"
Dann, warum dies nicht der Fall ist?
Prelude Data.Char> map toUpper . (++) "sdfsd" "dfgfdg"
<interactive>:1:14:
Couldn't match expected type `a -> [Char]'
against inferred type `[Char]'
In the second argument of `(.)', namely `(++) "sdfsd" "dfgfdg"'
In the expression: map toUpper . (++) "sdfsd" "dfgfdg"
In the definition of `it': it = map toUpper . (++) "sdfsd" "dfgfdg"
Operator Vorrang. Funktionsanwendung "bindet" sehr eng; (.) bindet sehr schwach. – jrockway
'(.)' Bindet sehr eng (Vorrang = 9), aber Funktion Anwendung bindet noch enger (Priorität = 10). Fügen Sie einfach '$' zwischen den beiden Strings ein, um es zu beheben. '$' hat eine sehr niedrige Priorität, ** 0 **. –