私は scalaz で少し遊んでいてST
、トラバース可能な型の内容を使用して my.xml を変更したいという結論に達しましたSTRef
。Haskell では、次のようにできます (Haskell wiki から取得)。
sumST :: Num a => [a] -> a
sumST xs = runST $ do
n <- newSTRef 0
forM_ xs $ \x -> do
modifySTRef n (+x)
readSTRef n
残念ながらforM_
、scalaz で同等のものを見つけることができませんでした。問題は、scalaz でこれを行うにはどうすればよいかということです。