Порядок ключей и значений в картах - PullRequest
9 голосов
/ 09 августа 2011

Когда мы вызываем ключи на карте, гарантированно ли порядок ключей в результирующем seq совпадает с порядком значений при вызове vals на той же карте?

Другими словами, можно ли сопоставить функцию f с содержимым карты следующим образом:

(map #(f %1 %2) (keys m) (vals m))

Если нет, то есть ли эквивалент в perl для каждого в clojure? Или, может быть, обратная функция zipmap?

1 Ответ

13 голосов
/ 09 августа 2011

Вы можете перебирать карту, вы получаете пары ключей val,


(map (fn [[key val]]
       (println key val)) {:a :b :c :d})

почти все структуры данных clojure являются секвенируемыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...