Fra*_*awr 4 clojure clojurescript
有没有办法通过实现 IDeref 在 cljs 中创建另一个容器,就像在 clojure 中一样?
(reify clojure.lang.IDeref
(deref [_] ...))
Run Code Online (Sandbox Code Playgroud)
编译器警告 IDeref 不是协议
尝试这个:
(def a
(reify IDeref
(-deref [_] "Hello!")))
(.log js/console @a)
Run Code Online (Sandbox Code Playgroud)
输出“你好!”。您可能想使用 deftype:
(deftype LikeAtom []
IDeref
(-deref [_] "Hello!"))
(.log js/console @(LikeAtom.))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
680 次 |
最近记录: |