cat -nコマンドでポイントフリースタイル
Haskellのプログラムをリファクタリングしていくと、どんどん変数が減っていきます。ポイントフリースタイルです。
これをやりすぎると読みにくくなるので、特に引数を省略する場合には、型を明示的に記述した方がよいですね。
ということでcat -n相当のプログラム。初めてuncurry関数を使いました。こう使うのか。
module Main (main) where import Text.Printf (printf) main :: IO () main = putStr . numbering =<< getContents where numbering :: String -> String numbering = unlines . map (uncurry format) . zip [1 ..] . lines format :: Int -> String -> String format = printf "%6d %s" -- Local Variables: -- compile-command: "ghc -W -fno-warn-unused-matches --make -o catn catn" -- End: