矢量在clojure和类型铸造

时间:2015-03-18 05:13:14

标签: clojure

 (= ":bar:foo" ((fn [[a b]] (str b a)) [:foo :bar]))

我对这个clojure代码有几个问题。

  1. 关于向量中每个元素前面:的交易是什么?
  2. 如何将:foo转换为字符串类型":foo"
  3. 由于

1 个答案:

答案 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