gpt4 book ai didi

clojure - Clojure 中的点划线与点前缀

转载 作者:行者123 更新时间:2023-12-02 21:08:58 26 4
gpt4 key购买 nike

为什么在访问 Clojure 中的 defrecord 字段时,优先使用点划线而不是点前缀?

例如:-

(defrecord Person [name age])

(def person1 (Person. "Ak" 28))

(.-name person1)
"Ak"

(.name person1)
"Ak"

最佳答案

.- 用于表示 Clojure interop 中的字段访问,只是 . 正在调用一个方法。

无论哪种方式,正如对该问题的评论中提到的,使用 :name 中的关键字是访问 name 字段的惯用方法。

其他方法之所以有效,是因为 records部分构建是为了支持与主机语言的互操作。

<小时/>

请记住,对于一般使用 Clojure 的数据建模, map 是首选。 Here's一个方便的流程图,用于为您的情况选择正确的数据类型。

关于clojure - Clojure 中的点划线与点前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57944590/

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