Haskell - Conduitでとってつけたにゃん
今日は
HaskellのストリームプロセッシングライブラリConduitで適当に遊びます。
GitHub - snoyberg/conduit: A streaming data library
Javaでいうところのlist.stream()
ってやつです。
左から来た言葉にとってつけたにゃんをつけて右側に流すConduit
{-# LANGUAGE OverloadedStrings #-} module Lib ( nyanize ) where import System.Environment import Conduit import qualified Data.Conduit.Binary as CB import Data.Monoid ((<>)) import qualified Data.Text as Text import qualified Data.Text.IO as Text nyanize :: IO () nyanize = do (filename:xs) <- getArgs putStrLn $ "input file: " ++ filename runConduitRes $ sourceFile filename .| CB.lines .| decodeUtf8C .| mapC (<> "、にゃん") .| mapM_C (liftIO . Text.putStrLn)
としまして、テキストファイルに語録を適当にぶちこみますと(非公式wikiの語録の見出し語を使いました)
おぉー、にゃん 今日もちえりちゃんはかわいいなぁ、にゃん しゅんっ!、にゃん ちょっと待ってな、にゃん ○○なのではー?、にゃん ほいでー、にゃん ...
おぉー、ええやん。
まとめ
Conduitはいいぞ。 花京院ちえりをすこれ
ちなみに
こちらを参考にしました:
最近ではData.Conduit.Binaryはあんまり推奨されないらしいです。時間が流れるのは早いです。