【发布时间】:2011-11-25 00:12:31
【问题描述】:
我正在 Clojure 中构建一个简单的摇摆 GUI。我正在尝试通过在 let 的上下文中使用 map 将单个函数应用于多个 GUI 组件:
(map #(f % component4) [component1 component2 component3])
所有组件都在 let 中定义。
有问题的是,map 是惰性的,并且该操作不会应用于组件,但是,我可以通过将上述内容包装在“take”中来强制它。
有没有非懒惰的地图替代品?或者我应该以不同的方式解决这个问题?
编辑: 在日食中逆时针使用。我使用 REPL 中的 (use 'Lib :reload) 和编辑器中的 CTRL+Enter 得到了不同的结果。重新加载会启动 GUI,但会出现上述问题。在编辑器中使用 CTRL+Enter 时没有出现该问题,因此我认为我对问题的描述可能不准确。无论如何,在这种情况下,doseq 似乎是比 map 更好的选择。
【问题讨论】:
标签: swing map clojure lazy-evaluation