1

基于问题How can I re-assign a variable in a function in Haskell? Congo 0,有一个 haskell 解决方案可以改变a中的刚果大象总数function

main' :: StateT Congo IO ()
main' =
  do
    printElephant
    function 2
    printElephant

-- run program:
main :: IO ()
main = Congo 0 & runStateT main' & void
-- outputs:
0
2

看完了计算表达式系列,我还是不知道如何正确地为这个问题编写一个 CE builder。如何使用 F# 的 CE 重新分配函数中的变量?

4

1 回答 1

3

F# 对命令式编程结构具有一流的支持。您只需将您的 let 绑定标记为mutable. 在这种情况下不需要计算表达式:

let mutable elephant = 0
printfn "Elephant = %d" elephant
elephant <- 2
printfn "Elephant = %d" elephant
于 2017-06-07T17:52:35.457 回答