alter 和 ref-set 都会更新 Clojure 中的 STM 树吗?

发布于 2024-11-01 05:16:31 字数 226 浏览 0 评论 0原文

我在 Clojure 代码中到处都使用了 refs,然后我意识到我到处都在使用 ref-set。这会破坏STM的变化历史吗?或者我应该仅使用 alterref-set 来初始化引用?

我不确定差异是否仅仅是语法上的,并且 alter 最终还是会调用 ref-set 。有人可以启发我吗?

I am using refs everywhere in my Clojure code and then I realised I was using ref-set everywhere. Does this destroy the history of changes in the STM? Or should I be using alter only and ref-set to intialise the ref?

I am not sure if the difference is merely syntactical and alter ends up calling ref-set anyway. Can someone enlighten me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦初启 2024-11-08 05:16:31
(alter aref f arg1 ... argn)

与具有 reset!swap! 的原子类似

(ref-set aref (f @aref arg1 ... argn))

(alter aref f arg1 ... argn)

is basically the same as

(ref-set aref (f @aref arg1 ... argn))

Similar for atoms with reset! and swap!.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文