Clojure:序列,映射和"当前数字/索引"问题

时间:2014-11-19 06:50:44

标签: clojure

我处理目录中的所有文件,例如:

(map file-handler files)

文件处理程序的唯一参数自然是文件对象。我想知道文件处理程序里面的当前"索引" 文件序列。到目前为止,我能看到的唯一解决方案是在词法闭包中创建一个计数器,在文件处理程序中可见,并在每个步骤中将其递增。完全可行,但不是很像clojurelike。是否有一种纯粹的功能性方法来管理它?

1 个答案:

答案 0 :(得分:3)

map需要一个或多个参数

(map file-handler (range) files)

还有一个快捷方式
(map-indexed file-handler files)

这将需要更新文件处理程序以获取2个参数,或者创建一个包含索引和文件的包装函数并在文件上调用文件处理程序。