我正在Clojure中构建一个简单的swing GUI.我试图通过在let的上下文中使用map将单个函数应用于多个GUI组件:
(map #(f % component4) [component1 component2 component3])
组件全部在let中定义.
有问题的是,map是懒惰的,并且动作不会应用于组件,但是,我可以通过将上面的内容包装在"take"中来强制它.
有地图的非懒惰替代方案吗?或者我应该以不同的方式解决这个问题?
编辑:在eclipse中使用逆时针方向.我使用REPL中的(使用'Lib:reload)并使用编辑器中的CTRL + Enter获得了不同的结果.重新加载会启动GUI,但会出现上述问题.从编辑器使用CTRL + Enter时没有出现问题,因此我认为我对问题的描述可能不准确.无论如何,在这种情况下,doseq似乎是更好的替代方案.