W Pythonie mogę to zrobić:Wyliczyć kolejność w Clojure?
animals = ['dog', 'cat', 'bird']
for i, animal in enumerate(animals):
print i, animal
które wyjścia:
0 dog
1 cat
2 bird
Jak chciałbym osiągnąć to samo w Clojure? Uważałem podstawie listy ze zrozumieniem tak:
(println
(let [animals ["dog" "cat" "bird"]]
(for [i (range (count animals))
animal animals]
(format "%d %d\n" i animal))))
Ale to wypisuje każdą kombinację liczby i zwierzęcia. Zgaduję, że jest prosty i elegancki sposób, ale nie widzę tego.
heh. Spójrz na kod źródłowy dla funkcji indeksowanych: https://github.com/clojure/clojure-contrib/blob/b8d2743d3a89e13fc9deb2844ca2167b34aaa9b6/src/main/clojure/clojure/contrib/seq.clj#L51 – Leonel
heh. Wiem. Zastanawiam się, dlaczego w swoim przykładzie nazwałaś funkcję "enum", a następnie :-) – ordnungswidrig