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
Clojure 为什么映射传感器的结果包含大于2的算术数?_Clojure_Arity_Transducer - Fatal编程技术网

Clojure 为什么映射传感器的结果包含大于2的算术数?

Clojure 为什么映射传感器的结果包含大于2的算术数?,clojure,arity,transducer,Clojure,Arity,Transducer,问题在标题中。下面我复制了映射源的传感器部分: ([f] (fn[rf] (fn ([](rf)) ([结果](射频结果)) ([结果输入] (射频结果(f输入))) ([结果输入和输入];为什么? (射频结果(应用f输入()()()))) 下面是一个链接,其中包含mapmap的定义,可以一次处理多个集合,使用每个集合项的参数调用映射函数: (map + [1 2 3] [4 5 6]) => (5 7 9) +函数对于这些集合中的每对值调用一次,例如(+14),(+25),(+36)

问题在标题中。下面我复制了
映射源的传感器部分:

([f]
(fn[rf]
(fn
([](rf))
([结果](射频结果))
([结果输入]
(射频结果(f输入)))
([结果输入和输入];为什么?
(射频结果(应用f输入()()())))

下面是一个链接,其中包含
map

map
的定义,可以一次处理多个集合,使用每个集合项的参数调用映射函数:

(map + [1 2 3] [4 5 6])
=> (5 7 9)
+
函数对于这些集合中的每对值调用一次,例如
(+14)
(+25)
(+36)
。非传感器版本如下所示

map
传感器的工作方式相同:

(sequence (map +) [1 2 3] [4 5 6])
=> (5 7 9)
[
map
]返回一个惰性序列,该序列由应用f的结果组成 每个coll的第一个项目集,然后将f应用于 每个coll中的第二项集,,直到任何一个coll 筋疲力尽。忽略其他Coll中的任何剩余项。作用 f应该接受colls参数的数量。在以下情况下返回传感器: 不提供任何收藏