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
Clojure 使用Datomic返回贴图而不是向量时出错_Clojure_Datomic - Fatal编程技术网

Clojure 使用Datomic返回贴图而不是向量时出错

Clojure 使用Datomic返回贴图而不是向量时出错,clojure,datomic,Clojure,Datomic,我使用Clojure在Datomic中进行一些查询,我尝试返回一个带有键的映射,而不是向量,如果我不尝试在查询中返回带有“:keys”关键字的映射,它工作正常 我尝试在:find和:键之间使用相同和不同的名称。 如果我移除下面的:keys行,它工作正常 我正在使用[org.clojure/clojure“1.10.0”]和[com.datomic/client-pro“0.8.28”] 确切的错误是: datomic.client.api.async/ares(async.clj:56)处的执行

我使用Clojure在Datomic中进行一些查询,我尝试返回一个带有键的映射,而不是向量,如果我不尝试在查询中返回带有“:keys”关键字的映射,它工作正常

我尝试在:find和:键之间使用相同和不同的名称。 如果我移除下面的:keys行,它工作正常

我正在使用[org.clojure/clojure“1.10.0”]和[com.datomic/client-pro“0.8.28”]

确切的错误是: datomic.client.api.async/ares(async.clj:56)处的执行错误(ExceptionInfo)

“参数:keys in:find不是变量”

下面是Datomic示例,在其文档中

[:find ?artist-name ?release-name
 :keys artist release
 :where [?release :release/name ?release-name]
 [?release :release/artists ?artist]
 [?artist :artist/name ?artist-name]]

我想你使用的是一个旧版本的客户端,它还不知道
:keys
选项。

你能显示准确的代码,包括
(d/q…
查询表达式吗?当然,更新了它,还添加了错误的其他部分是的,他们使用客户端0.9.37添加了此功能,而我使用的是0.8.28,在他们的教程中。。。我稍后会检查它是否工作,并在此处更新。
(d/q get-links db filter skip (+ first skip))
[:find ?artist-name ?release-name
 :keys artist release
 :where [?release :release/name ?release-name]
 [?release :release/artists ?artist]
 [?artist :artist/name ?artist-name]]