【发布时间】:2014-03-21 19:59:18
【问题描述】:
在 Java 中,我通常会这样做,
MyObject o1 = new MyObject();
o1.doSomething();
MyObject o2 = new MyObject();
o2.doWith(o1);
MyObject o3 = new MyObject();
o3.doWithBoth(o1, o2);
在 Clojure 中,如果我使用 let 绑定,它可能看起来像,
(let [o1 (create-obj)]
(.doSomething o1)
(let [o2 (create-obj)]
(.doWith o2 o1)
(let [o3 (create-obj)]
(.doWithBoth o3 o1 o2))))
代码增长到右手边,丑陋且难以维护。有没有更好的方法来做到这一点?
【问题讨论】:
标签: clojure