gpt4 book ai didi

clojure - 如何访问 Clojure 试剂原子图变量?

转载 作者:行者123 更新时间:2023-12-02 10:18:41 24 4
gpt4 key购买 nike

我是 Clojure 和 Reagent 的新手。请告诉我如何首先在原子变量联系人中打印变量?

(def 应用程序状态 (r/原子 {:联系人 [{:第一个“Ben” :最后一个“Lem” :中间“Ab”}]}))

最佳答案

首先: reagent tutorial这是一个非常好的起点。它甚至为您提供了准确解决此问题的示例。

由于试剂 atom 可以被视为常规 Clojurescript 原子,因此您可以使用所有正常的序列操作。请记住,为了访问当前值,您必须通过 @ 取消引用原子。如果您确实只想访问原子中的第一个 :first:

(:first (first (:contacts @app-state)))(get (first (get @app-state :contacts)) :first)

或者,如果您认为它更具可读性

(-> @app-state
:contacts
first
:first)

我想您可能想要做的是定义一些函数以使访问更容易,例如:

(defn get-contacts!
"Returns the current vector of contacts stored in the app-state."
[]
(:contacts @app-state))

(defn get-first-names!
"Return a vector of all first names in the current list of contacts in the
app-state."
[]
(mapv :first (get-contacts!)))

请记住,在reagent中(一般情况下确实如此),您可能希望尽可能少地取消引用该原子,因此寻找一个好地方来取消引用它并仅使用常规函数对简单序列而不是原子进行操作。

不过,我真的建议你去阅读前面提到的 reagent tutorial .

关于clojure - 如何访问 Clojure 试剂原子图变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35012387/

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