2

状態モナドに配列と配列インデックスがあります。を使用して 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

今、私は結合arridxてレンズを形成したいと考えていますarr[idx]

combo arr idx = undefined

bar x = do
    combo arr idx += x
    ii <- combo arr idx
    return ii

これどうやってするの?のコードは異なりData.Sequenceますか?

4

1 に答える 1