我应该如何监控clojure中映射函数的进度?
当用命令语言处理记录时,我经常每隔一段时间打印一条消息,以指示事情已经走了多远,例如报告每1000条记录.基本上这是计算循环重复.
我想知道在clojure中我可以采取什么方法,我将一个函数映射到我的记录序列.在这种情况下,打印消息(甚至保持进度计数)似乎基本上是副作用.
到目前为止我想出的是:
(defn report
[report-every val cnt]
(if (= 0 (mod cnt report-every))
(println "Done" cnt))
val)
(defn report-progress
[report-every aseq]
(map (fn [val cnt]
(report report-every val cnt))
aseq
(iterate inc 1)))
Run Code Online (Sandbox Code Playgroud)
例如:
user> (doall (report-progress 2 (range 10)))
Done 2
Done 4
Done 6
Done 8
Done 10
(0 1 2 3 4 5 6 7 8 9)
Run Code Online (Sandbox Code Playgroud)
是否有其他(更好)的方法来实现这种效果?
我在做什么有任何陷阱?(我认为我保留了懒惰,而不是举个例子.)
在JBoss AS 7中,依赖于AS中包含的库的Web应用程序必须在META-INF/MANIFEST.MF中声明这些依赖关系,如下所示:
Dependencies: <package-name>
Run Code Online (Sandbox Code Playgroud)
例:
Dependencies: org.slf4j
Run Code Online (Sandbox Code Playgroud)
(这与Import-Package:for OSGi相当.)有关从旧版本迁移,类加载和部署的隐式模块依赖关系的文章中可以找到更多信息.
该项目是使用Maven构建的.AS中包含的所有依赖项都使用范围"提供"声明.
有没有一种简单的方法可以使用Maven自动创建这个依赖项列表?
只应包含声明范围"已提供"的依赖项,因为所有其他依赖项已包含在WAR中.
我需要将类路径中存在的xml文件加载到我的java应用程序中.任何人都可以对此提出建议.
谢谢,
Narendra