En Python, je peux le faire:Enumerate sur une séquence de Clojure?
animals = ['dog', 'cat', 'bird']
for i, animal in enumerate(animals):
print i, animal
qui délivre en sortie:
0 dog
1 cat
2 bird
Comment pourrais-je faire la même chose en Clojure? J'ai considéré en utilisant une compréhension de liste comme ceci:
(println
(let [animals ["dog" "cat" "bird"]]
(for [i (range (count animals))
animal animals]
(format "%d %d\n" i animal))))
Mais ceci imprime chaque combinaison de nombre et d'animal. Je devine qu'il y a une manière simple et élégante de faire ceci mais je ne le vois pas.
heh. Jetez un oeil au code source de la fonction indexée: https://github.com/clojure/clojure-contrib/blob/b8d2743d3a89e13fc9deb2844ca2167b34aaa9b6/src/main/clojure/clojure/contrib/seq.clj#L51 – Leonel
heh. Je connais. Je me demande pourquoi vous avez nommé la fonction 'enum' dans votre exemple, alors :-) – ordnungswidrig