私はちょうどユニにハスケルを学習し始めました。そして、それを遊んでいるうちに、私は把握できないような問題に遭遇しました。ハスケル関数の合成方法
import Data.List
list = ["Hello", "world"]
main = print $ intercalate " something " (reverse (map reverse list))
出力:
"dlrow something olleH"
しかし、私はそれを試してみましたので、ドットの代わりに括弧で「メイン」関数を書きたい:
main = print $ intercalate " something " . reverse . map reverse list
次のコードは、私に望ましい結果を提供します
ただし、これにより次のエラーが表示されます。
test.hs:5:54: error:
• Couldn't match expected type ‘a0 -> [[Char]]’
with actual type ‘[[Char]]’
• Possible cause: ‘map’ is applied to too many arguments
これらの点は、角括弧とまったく同じ意味を持つと考えました。なぜ括弧は機能しますが、ドットはタイプ関連のエラーを出しますか?どんな助けでも大歓迎です!
この明確な説明に感謝します。 – Felix