来自 OO 背景,当我试图避免突变时,我无法解决如何用 FP 解决简单问题。
let mutable run = true
let player1List = ["he"; "ho"; "ha"]
let addValue lst value =
value :: lst
while run do
let input = Console.ReadLine()
addValue player1List input |> printfn "%A"
if player1List.Length > 5 then
run <- false
printfn "all done" // daz never gunna happen
我知道在某些情况下使用突变是可以的,但我正在努力训练自己避免突变作为默认值。话虽如此,有人可以给我看一个上面没有在 F# 中使用突变的例子吗?
最终结果应该是player1List继续增长,直到item的长度为6,然后退出并打印'all done'