Clojure中的点划线与点前缀
为什么在Clojure中访问defrecord字段时,点划线优先于点前缀 例:-Clojure中的点划线与点前缀,clojure,Clojure,为什么在Clojure中访问defrecord字段时,点划线优先于点前缀 例:- -用于表示中的字段访问,只是正在调用一个方法 无论哪种方式,正如在对问题的评论中提到的,使用:name中的关键字都是访问name字段的惯用方式 其他方法之所以有效,是因为它们的构建部分是为了支持与宿主语言的互操作 请记住,对于一般使用Clojure的数据建模,最好使用映射。一个方便的流程图,用于根据您的情况选择正确的数据类型。对于惯用的clj,:name是首选(:姓名1) (defrecord Person [n
-
用于表示中的字段访问,只是
正在调用一个方法
无论哪种方式,正如在对问题的评论中提到的,使用:name
中的关键字都是访问name
字段的惯用方式
其他方法之所以有效,是因为它们的构建部分是为了支持与宿主语言的互操作
请记住,对于一般使用Clojure的数据建模,最好使用映射。一个方便的流程图,用于根据您的情况选择正确的数据类型。对于惯用的clj,
:name
是首选<代码>(:姓名1)
(defrecord Person [name age])
(def person1 (Person. "Ak" 28))
(.-name person1)
"Ak"
(.name person1)
"Ak"