我在 cljc 文件中有一些代码可以编译为 Clojure 和 ClojureScript。
在protocols.cljc
(defprotocol Transformable ".."
(scale [this scalar] "" ) ...)
在模式.cljc
(defrecord APattern [paths]
Transformable
(scale [this s] (...)) ...)
在另一个.cljc
(defn f [pattern] (.scale pattern (/ 1 2)) )
在 core.cljs 中
(another/f pattern)
但是,我在浏览器控制台上遇到错误
TypeError: pattern.scale is not a function
检查 core.cljs 中模式对象的字段(使用 js-keys)显示该对象有一个名为
"patterning$protocols$Transformable$scale$arity$2"
这看起来像我的功能。那么我只是在 ClojureScript 中访问它时做错了吗?做 。符号不起作用?我需要做其他事情吗?