0

在 ClojureScript 项目中使用core.matrix。对于 javascript 互操作,我需要aljabr,如https://github.com/mikera/core.matrix/wiki/Matrix-implementations中所述

在我尝试指定实现之后(就像我对其他 Clojure 实现所做的那样)

(require '[clojure.core.matrix :as mat])
(require '[thinktopic.aljabr.core :as imp])

(mat/set-current-implementation :aljabr)

我收到此错误,我无法将矩阵实现用于 Javascript

INFO: No dynamic loading of implementations in Clojurescript.
You must require an implementation explicitly in a namespace, for example thinktopic.aljabr.core

在 github 上查看我只找到上面提到的实现(例如https://github.com/mars0i/free/commit/71dbbe4d58645ad4e25f2ac2d4ccba6ccef93968),我怎样才能让 aljabr 在 cljs 中工作?

4

1 回答 1

0

您需要静态设置实现,这意味着不像您那样在文件的开头,而是在您实际声明矩阵时

(mat/matrix :aljabr [[1.0 2.0 3.0][4.0 5.0 7.0]])

(我回答自己只是因为互联网上没有关于该错误的结果,我花了一段时间才理解错误消息的解释,即使是 git 责备)

于 2020-10-19T23:02:49.517 回答