練習問題
標準入力の'a'と'A'を入れ替えるコマンドの作成。
main = do cs <- getContents putStr $ changea cs changea :: String -> String changea cs = map swapa cs swapa :: Char -> Char swapa 'a' = 'A' swapa 'A' = 'a' swapa c = c
このように作りました。回答例を見てみるとswapaについては同じでしたが、回答例では上記のchangeaに相当する関数はなく、mainのputStrの引数にmap swapa csを指定していました。
練習問題だからとか紙面の関係でという背景があるかもしれませんが、個人的には関数化する方が好きです。メリットはいくつかありますが、特に「処理に名前を付けられる」というのが嬉しいところ(changeaが良い名前かというとそうでもないですけど)。