状態モナドに配列と配列インデックスがあります。を使用して idx を読み取り、他の同様の修飾子use
を使用して変更できます。+=
{-# Language TemplateHaskell #-}
import Control.Lens
import Control.Lens.TH
import Control.Monad.State
import Data.Array
data M = M { _arr :: Array Int Int, _idx :: Int }
$(makeLenses ''M)
foo x = do
idx += x
ii <- use idx
return ii
今、私は結合arr
しidx
てレンズを形成したいと考えていますarr[idx]
:
combo arr idx = undefined
bar x = do
combo arr idx += x
ii <- combo arr idx
return ii
これどうやってするの?のコードは異なりData.Sequence
ますか?