특정 함수가 참이라고 평가되는 벡터의 모든 요소를 찾으려고합니다. 내 시도가 실패했습니다. 아이디어?Clojure : 함수가 true로 평가되는 모든 벡터 찾기
(defn find-matches [match-fn elements]
(map-indexed
(fn [idx elem]
(if (= true (apply match-fn elem))
[idx elem])
elements))
(find-matches even? [1 2 3 4]) ; -> Arity Exception Wrong number of args (1) passed to: core$map-indexed clojure.lang.AFn.throwArity
'map'과'map-indexed'가 새로운 시퀀스를 하나씩 생성한다는 것을 기억하십시오. 하나는 순서 인수의 요소를가집니다. 'for'(일부는 응답으로 사용)에서'filter' 나'keep-indexed' 또는': when' 절을 사용하여 일부 요소를 유지하고 다른 요소를 버리는 것이 필요합니다. – Thumbnail