这是clojure中已知的pr-str / keyword错误吗?

时间:2017-02-19 21:09:08

标签: clojure

这是我的clojure数据:

{:local/contacts-capability contacts-capability}

pr-str给了我这个:

#:local{:contacts-capability #uuid "00000000-0000-4000-8000-000000000003"}

我将它传递给clojurescript,当我读到它时,我得到了:

Uncaught Error: Could not find tag parser for :local in ("simpleArk.arkRecord.Ark-record" "uuid/Timestamp" "inst" "js" "queue" "uuid" "miMap/MI-map" "tailrecursion.priority-map" "simpleArk.rolonRecord.Rolon-record")
    at Function.cljs.reader.reader_error.cljs$core$IFn$_invoke$arity$variadic (reader.cljs:71)
    at cljs$reader$reader_error (reader.cljs:69)
    at cljs$reader$maybe_read_tagged_type (reader.cljs:613)
    at cljs$reader$read_dispatch (reader.cljs:260)
    at cljs$reader$read_delimited_list (reader.cljs:233)
    at cljs$reader$read_vector (reader.cljs:280)
    at cljs$reader$read (reader.cljs:464)
    at cljs$reader$read_string (reader.cljs:477)
    at console$client$display_property (client.cljs:366)
    at console$client$explore_BANG_ (client.cljs:404)

Dependencies:

[org.clojure/clojure "1.9.0-alpha10"  :scope "provided"]
[org.clojure/clojurescript "1.9.198"]

2 个答案:

答案 0 :(得分:2)

在Clojure 1.9中,这两个地图代表相同的数据:

#:foo{:bar 1 :baz 2}
{:foo/bar 1 :foo/baz 2}

如果地图中的所有键都是关键字且具有相同的命名空间,前者是表示后者的较短方式。见这里:http://dev.clojure.org/jira/browse/CLJ-1910

我怀疑ClojureScript目前不支持此功能。

答案 1 :(得分:0)

问题在于使用这种旧版本的clojure脚本。以后的版本确实解决了这个见https://github.com/ptaoussanis/sente/issues/241