【发布时间】:2013-11-28 13:54:07
【问题描述】:
有没有办法通过实现 IDeref 在 cljs 中创建另一个容器,就像在 clojure 中一样?
(reify clojure.lang.IDeref
(deref [_] ...))
编译器警告 IDeref 不是协议
【问题讨论】:
标签: clojure clojurescript
有没有办法通过实现 IDeref 在 cljs 中创建另一个容器,就像在 clojure 中一样?
(reify clojure.lang.IDeref
(deref [_] ...))
编译器警告 IDeref 不是协议
【问题讨论】:
标签: clojure clojurescript
试试这个:
(def a
(reify IDeref
(-deref [_] "Hello!")))
(.log js/console @a)
输出“你好!”。你可能想使用 deftype:
(deftype LikeAtom []
IDeref
(-deref [_] "Hello!"))
(.log js/console @(LikeAtom.))
【讨论】: