からState.modifyを使用すると、それはプログラムの骨格のみです。 「別の関数
foldlWithKey'
(\list' key' val' ->
if (...)
then
(Control.Monad.State.modify $ (Prelude.++) [elem]) >>
some code
: list')
else
(Control.Monad.State.modify $ (Prelude.++) []) >>
some code
: list')
)
[]
(map')
とmainConの状態を変更したいのですが、トラバースマップを続ける:私は1つのステージで
State [Dec] [Dec]
mainCon = do
acc <- get
put []
modify $ (++) [some func]
return acc
が、私は関数を呼び出すことを、主な機能を持っています。エラーは、
No instance for (MonadState [Dec] [])
arising from a use of ‘Control.Monad.State.modify’
In the expression: Control.Monad.State.modify
[Dec] from Template Haskellです。どうすればこの問題を解決できますか?
'foldWithKey''の型シグネチャは何ですか? – ErikR
@ErikR foldlWithKey」::( - > K - > V - > A) - > A - >ハッシュマップのk V - > A – Ivan