- 826 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 16:24:06.73 ID:95aSRVZj.net]
- State モナドを“準標準”と認めてもらえるなら簡単
Haskell import Control.Monad.State pop :: State [a] a pop = do a <- get modify tail return $ head a push :: a -> State [a] () push x = do modify ((x :)) return () test = do push 1 push 2 push 3 a <- pop b <- pop c <- pop return ([a,b,c]) main = print $ evalState test [] --- 出力 [3,2,1]
|

|