我发现这样的管道功能可以产生输入和输出
pairConduit :: (Monad m) => ConduitM i o m r -> ConduitM i (i, o) m r
我得到了一个错误的解决方案:
pairConduit :: (Monad m) => ConduitM i o m () -> ConduitM i (i, o) m ()
pairConduit c = do
mb <- await
case mb of
(Just i) -> do
mapOutput (\a -> (i,a)) c
Nothing -> return ()