(= ":bar:foo" ((fn [[a b]] (str b a)) [:foo :bar]))
我对这个clojure代码有几个问题。
:
的交易是什么?:foo
转换为字符串类型":foo"
?由于
答案 0 :(得分:1)
在clojure中,这样的元素称为关键字。关键词评估自己,并经常用作值的访问者。
(def x {:a 10, :b 20})
您可以查看类型:
user=> (class :foo)
clojure.lang.Keyword
user=> (type :foo)
clojure.lang.Keyword
您可以将其转换为str:请注意前面的:
。
user=> (str :foo)
":foo"
如果您只想从关键字获取名称字符串,那么:
user=> (name :foo)
"foo"
或者您可以从str:
创建关键字user=> (keyword "foo")
:foo