Haskellで入力を繰り返し受け付ける
HaskellでCLIを作りたいと思い、その練習として入力を繰り返し受け付ける簡単なサンプルを作成しました。
手続き型言語であればwhile文で実装するのですが、関数型言語なので再帰関数で実装しています。
import System.IO (hFlush, stdout)
main :: IO ()
main = loop
where
loop = do
putStr "何か入力してください: "
hFlush stdout
input <- getLine
putStrLn $ "入力されたもの: " ++ input
loop -- 自分自身を呼び出してループを継続
実行すると以下のようになります。
$ runghc loop.hs
何か入力してください: ああ
入力されたもの: ああ
何か入力してください: あああ
入力されたもの: あああ
何か入力してください:
コメント