Перечислить последовательность в Clojure?

В Python я могу сделать это:

animals = ['dog', 'cat', 'bird']
for i, animal in enumerate(animals):
    print i, animal

Какие результаты:

0 dog
1 cat
2 bird

Как я могу сделать то же самое в Clojure? Я подумал об использовании такого понимания списка:

(println
  (let [animals ["dog" "cat" "bird"]]
    (for [i (range (count animals))
          animal animals]
      (format "%d %d\n" i animal))))

Но он распечатывает каждую комбинацию числа и животного. Я предполагаю, что есть простой и элегантный способ сделать это, но я этого не вижу.

21
задан davidscolgan 16 November 2010 в 15:49
поделиться