【问题标题】:How can I make an IDerefable in clojurescript?如何在 clojurescript 中创建 IDerefable?
【发布时间】:2013-11-28 13:54:07
【问题描述】:

有没有办法通过实现 IDeref 在 cljs 中创建另一个容器,就像在 clojure 中一样?

(reify clojure.lang.IDeref
     (deref [_] ...))

编译器警告 IDeref 不是协议

【问题讨论】:

    标签: clojure clojurescript


    【解决方案1】:

    试试这个:

    (def a
      (reify IDeref
        (-deref [_] "Hello!")))
    
    (.log js/console @a)
    

    输出“你好!”。你可能想使用 deftype:

    (deftype LikeAtom []
      IDeref
      (-deref [_] "Hello!"))
    
    (.log js/console @(LikeAtom.))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多