小编Rap*_*Mor的帖子

如何将有状态计算应用于列表?

让我们想象一下Brainf*ck的虚拟子集:

+ 递增计数器

- 递减柜台

一个简单的程序:

program = "++++--" -- should evaluate to 2

有状态的评估功能:

eval :: Char -> State Int Char
eval '+' = do x <- get
              put (x + 1)
              return 'I'
eval '-' = do x <- get
              put (x - 1)
              return 'D'
Run Code Online (Sandbox Code Playgroud)

你会如何评价该计划?(fold对我来说看起来像是一个但是我无法理解它,并且它感觉不是正确的做法...)

haskell state-monad

1
推荐指数
2
解决办法
127
查看次数

标签 统计

haskell ×1

state-monad ×1