2
に順番に
をオブジェクトの位置を見つける:私はこのように動作します機能したい、基本的にClojureの
user=> (pos 'c '(a b c d e f g) =)
2
user=> (pos 'z '(a b c d e f g) =)
nil
を私はこの思い付いた:だから、私の質問がある
(defn pos
"Gets position of first object in a sequence that satisfies match"
[object sequence match]
(loop [aseq sequence position 0]
(cond (match object (first aseq)) position
(empty? aseq) nil
:else (recur (rest aseq) (inc position)))))
、私たちがこれを行うことを可能にする組み込み関数があるか、より良い、より機能的な/ Clojure-ishの方法でpos
関数を書くことができるでしょうか?
あなたは 'keep-indexed'を使うことができます - http://stackoverflow.com/questions/8641305/how-do-i-find-the-index-of-an-element-that-同じ述語に一致する述語である – Gert
と同じ質問を持つ別のもの:http://stackoverflow.com/questions/4830900/how-do-i-find-the-index-of-an-item-in- - ベクトル – Gert
@ gertalotありがとう!それらのリンクは本当に私を助けました – wrongusername