Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么#:crux.db{:id";a";}={:crux.db/id";a";}在clojure中?_Clojure - Fatal编程技术网

为什么#:crux.db{:id";a";}={:crux.db/id";a";}在clojure中?

为什么#:crux.db{:id";a";}={:crux.db/id";a";}在clojure中?,clojure,Clojure,我试图用repl运行这个脚本 (clojure.set/rename-keys {:id "faeb2d4a-2415-423e-bf65-9266ae4c3326"} {:id :crux.db/id}) 它回来了 #:crux.db{:id“faeb2d4a-2415-423e-bf65-9266ae4c3326”} 而不是{:crux.db/id“faeb2d4a-2415-423e-bf65-9266ae4c3326”} 我认为有

我试图用repl运行这个脚本

(clojure.set/rename-keys {:id  "faeb2d4a-2415-423e-bf65-9266ae4c3326"}
                 {:id :crux.db/id})
它回来了
#:crux.db{:id“faeb2d4a-2415-423e-bf65-9266ae4c3326”}
而不是
{:crux.db/id“faeb2d4a-2415-423e-bf65-9266ae4c3326”}

我认为有问题,但数据实际上是正确的

(:crux.db/id #:crux.db{:id "faeb2d4a-2415-423e-bf65-9266ae4c3326"})
=> "faeb2d4a-2415-423e-bf65-9266ae4c3326"

(= #:crux.db{:id "faeb2d4a-2415-423e-bf65-9266ae4c3326"} {:crux.db/id "faeb2d4a-2415-423e-bf65-9266ae4c3326"})
=> true

为什么?

这是一种简写,如果地图中的多个键具有相同的名称空间,则可以节省空间

  (let [some-map {:crux.db/name    "Joe Smith"
                  :crux.db/address "123 Foo Bar Lane"
                  :crux.db/phone   "666.555.1234"
                  :crux.db/age     64}]
然后,
一些地图
看起来像:

#:crux.db{:name "Joe Smith",
          :address "123 Foo Bar Lane",
          :phone "666.555.1234",
          :age 69}

如果映射中的多个键具有相同的名称空间,则这是一种节省空间的简写方法

  (let [some-map {:crux.db/name    "Joe Smith"
                  :crux.db/address "123 Foo Bar Lane"
                  :crux.db/phone   "666.555.1234"
                  :crux.db/age     64}]
然后,
一些地图
看起来像:

#:crux.db{:name "Joe Smith",
          :address "123 Foo Bar Lane",
          :phone "666.555.1234",
          :age 69}
请参见其中的“映射命名空间语法”解释

请参见其中的“映射命名空间语法”解释