Ho usato la seguente espressione per recuperare l'indice del numero più piccolo in un vettore. Tuttavia, vorrei evitare l'uso di .indexOf
(per motivi di efficienza e forse di precisione numerica, anche se suppongo che i numeri siano convertiti implicitamente in stringhe).Come posso trovare l'indice del membro più piccolo di questo vettore in Clojure?
(.indexOf [1 2 3 4 0 5]
(reduce #(if (< %1 %2) %1 %2) [1 2 3 4 0 5]))
Sarebbe possibile farlo in modo diverso utilizzando Riduci?
Può essere un po 'semplificato utilizzando http://clojuredocs.org/clojure_contrib/clojure.contrib.seq-utils/indexed – opqdonut
Si noti che non credo che il commento di cui sopra è più vero - la funzione 'indicizzata' non compare esistere in Clojure 1.3 su. – candrews