[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
328: デフォルトの名無しさん [sage] 2020/05/23(土) 12:08:02.84 ID:eKnPDQS2 module Main where import Control.Monad.IO.Class (MonadIO, liftIO) import Control.Monad.Trans (lift) import Data.Conduit (ConduitT, runConduit, yield, (.|)) import qualified Data.Conduit.List as CL repIO :: (Monad m, MonadIO m) => IO () -> ConduitT () () m () repIO io = do x <- liftIO io yield x >> repIO io repM :: Monad m => m o -> ConduitT i o m r repM m = do x <- lift m yield x >> repM m main :: IO () main = do x1 <- runConduit $ repIO (getLine >>= print) .| CL.take 3 print x1 -- [(),(),()] x2 <- runConduit $ repM (getLine >>= print) .| CL.take 3 print x2 -- [(),(),()] let x3 = runConduit $ repM [1,2] .| CL.take 3 print x3 -- [[1,1,1],[1,1,2],[1,2,1],[1,2,2],[2,1,1],[2,1,2],[2,2,1],[2,2,2]] let x4 = runConduit $ repM [] .| CL.take 3 print (x4 :: [[Int]]) -- [] let x5 = runConduit $ repM (Just 1) .| CL.take 3 print x5 -- Just [1,1,1] let x6 = runConduit $ repM Nothing .| CL.take 3 print (x6 :: Maybe [Int]) -- Nothing http://mevius.5ch.net/test/read.cgi/tech/1581326256/328
329: デフォルトの名無しさん [sage] 2020/05/23(土) 13:15:18.54 ID:eKnPDQS2 あ、ストリームでできたってこういうことか http://mevius.5ch.net/test/read.cgi/tech/1581326256/329
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s