根据问题How can I re-assign a variable in a function in Haskell?,有一个haskell解决方案可以更改Congo 0
中的刚果大象总数function
:
main' :: StateT Congo IO ()
main' =
do
printElephant
function 2
printElephant
-- run program:
main :: IO ()
main = Congo 0 & runStateT main' & void
-- outputs:
0
2
阅读Computation Expression series后,我仍然不知道如何正确地为这个问题编写CE构建器。如何使用F#的CE重新分配函数中的变量?
答案 0 :(得分:3)
F#对命令式编程结构提供了一流的支持。您只需将let绑定标记为mutable
即可。在这种情况下不需要计算表达式:
let mutable elephant = 0
printfn "Elephant = %d" elephant
elephant <- 2
printfn "Elephant = %d" elephant