Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure:序列、映射和;“当前编号/索引”;问题_Clojure - Fatal编程技术网

Clojure:序列、映射和;“当前编号/索引”;问题

Clojure:序列、映射和;“当前编号/索引”;问题,clojure,Clojure,我处理目录中的所有文件,例如: (map file-handler files) 文件处理程序的唯一参数自然是文件对象。我想知道文件处理程序中文件序列的当前“索引”。到目前为止,我能看到的唯一解决方案是在词法闭包中创建一个计数器,在文件处理程序中可见,并在每个步骤中递增它。完全可行,但不太像clojurelike。是否有一种纯函数式的方法来管理它?map接受一个或多个参数 (map file-handler (range) files) 这也有一个捷径 (map-indexed file-h

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

(map file-handler files)

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

map接受一个或多个参数

(map file-handler (range) files)
这也有一个捷径

(map-indexed file-handler files)

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

map获取1个或多个参数

(map file-handler (range) files)
这也有一个捷径

(map-indexed file-handler files)

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

map获取1个或多个参数

(map file-handler (range) files)
这也有一个捷径

(map-indexed file-handler files)

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

map获取1个或多个参数

(map file-handler (range) files)
这也有一个捷径

(map-indexed file-handler files)

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

非常感谢,noisesmith!忽略了RTFM部分,真丢脸。作为一般原则,在函数编程中,您可以接受任何有状态变量,并将其转换为向前传递的不可变函数参数。非常感谢,noisesmith!忽略了RTFM部分,真丢脸。作为一般原则,在函数编程中,您可以接受任何有状态变量,并将其转换为向前传递的不可变函数参数。非常感谢,noisesmith!忽略了RTFM部分,真丢脸。作为一般原则,在函数编程中,您可以接受任何有状态变量,并将其转换为向前传递的不可变函数参数。非常感谢,noisesmith!忽略了RTFM部分,真丢脸。作为一般原则,在函数式编程中,您可以获取任何有状态变量,并将其转换为向前传递的不可变函数参数。通常在FP中,您不需要索引,即使您认为需要索引。如果你按照@noisesmith所说的那样做,那么一般的原则是通过递归传递“变异”值作为参数之一,例如,在FP中,
fold
reduce
,结果证明,即使你认为你需要索引,你也不需要索引。如果你按照@noisesmith所说的那样做,那么一般的原则是通过递归传递“变异”值作为参数之一,例如,在FP中,
fold
reduce
,结果证明,即使你认为你需要索引,你也不需要索引。如果你按照@noisesmith所说的那样做,那么一般的原则是通过递归传递“变异”值作为参数之一,例如,在FP中,
fold
reduce
,结果证明,即使你认为你需要索引,你也不需要索引。如果您按照@noisesmith所说的那样做,那么一般原则是将“mutating”值作为参数之一通过递归传递,例如
fold
reduce