In Python kann ich dies tun:Aufzählen über eine Sequenz in Clojure?
animals = ['dog', 'cat', 'bird']
for i, animal in enumerate(animals):
print i, animal
Welche Ausgänge:
0 dog
1 cat
2 bird
Wie würde ich die gleiche Sache in Clojure erreichen? Ich überlegte, ein Listenverständnis wie folgt zu verwenden:
(println
(let [animals ["dog" "cat" "bird"]]
(for [i (range (count animals))
animal animals]
(format "%d %d\n" i animal))))
Aber das druckt jede Kombination von Zahl und Tier aus. Ich schätze, es gibt eine einfache und elegante Möglichkeit, dies zu tun, aber ich sehe es nicht.
heh. Werfen Sie einen Blick auf den Quellcode für die Funktion indiziert: https://github.com/clojure/clojure-contrib/blob/b8d2743d3a89e13fc9deb2844ca2167b34aaa9b6/src/main/clojure/clojure/contrib/seq.clj#L51 – Leonel
heh. Ich kenne. Ich frage mich, warum Sie in Ihrem Beispiel die Funktion 'enum' benannt haben :-) – ordnungswidrig