Function 在clojure中,能否将函数应用于集合中的所有元素,并将返回值作为下一个集合的输入?

Function 在clojure中,能否将函数应用于集合中的所有元素,并将返回值作为下一个集合的输入?,function,collections,clojure,Function,Collections,Clojure,假设您有这样一个集合{a:1b:2}{a:2b:5}{a:4b:7},包含未指定数量的{a:B:}部分和函数func arg1 arg2 如果我们假设存在一些初始状态,并且对func的每次调用都会生成一个新状态。 有可能构造出这样的东西吗 (->(func state {A: 1 B: 2}) (func {A: 2 B: 5}) (func {A: 4 B: 7})) 基本上,第一个参数是新状态,第二个参数是集合中的下一个{A:B:} 任何帮助都将不胜感激 是,此函数被调用: 或者输

假设您有这样一个集合{a:1b:2}{a:2b:5}{a:4b:7},包含未指定数量的{a:B:}部分和函数func arg1 arg2

如果我们假设存在一些初始状态,并且对func的每次调用都会生成一个新状态。 有可能构造出这样的东西吗

(->(func state {A: 1 B: 2})
(func {A: 2 B: 5}) 
(func {A: 4 B: 7}))
基本上,第一个参数是新状态,第二个参数是集合中的下一个{A:B:}


任何帮助都将不胜感激

是,此函数被调用:

或者输入序列的第一个元素用作初始状态的版本检查功能文档以查看其行为的详细信息:

(reduce 
  func
  input-sequence)
例如:

(reduce
  +
  100
  [1 2 3 4 5])
;; => 115

(reduce
  +
  [1 2 3 4 5])
;; => 15

是,此函数称为:

或者输入序列的第一个元素用作初始状态的版本检查功能文档以查看其行为的详细信息:

(reduce 
  func
  input-sequence)
例如:

(reduce
  +
  100
  [1 2 3 4 5])
;; => 115

(reduce
  +
  [1 2 3 4 5])
;; => 15
作为旁注,{:A1:B2}在Clojure中更常见。即,使用关键字作为地图的键。虽然,{A:1b:2}在句法上是合法的。作为旁注,{a1:b2}在Clojure中更常见。即,使用关键字作为地图的键。虽然,{A:1b:2}在句法上是合法的。