gpt4 book ai didi

F# 隐藏突变

转载 作者:行者123 更新时间:2023-12-02 00:55:34 25 4
gpt4 key购买 nike

任何人都有一个不错的例子,最好是实用/有用的,他们可以发布演示这个概念?

我在某个找不到的地方遇到了这个术语,可能它必须对返回函数的函数执行某些操作,同时包含一些可变变量。所以没有明显的突变。

可能 Haskell 社区提出了这样的想法:突变发生在范围不可见的另一个区域。我可能在这里含糊不清,因此寻求帮助以了解更多信息。

最佳答案

隐藏突变是个好主意,这样 API 的使用者就不会无意中意外地更改某些内容。这仅意味着您必须封装可变数据/状态。这可以通过对象(是的,对象)来完成,但是您在问题中所指的内容可以通过闭包来完成,典型的示例是计数器:

let countUp =
let mutable count = 0
(fun () -> count <- count + 1
count)

countUp() // 1
countUp() // 2
countUp() // 3

您无法直接访问可变计数变量。

关于F# 隐藏突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com