Czy można polegać na (= m (zipmap (keys m) (vals m)))
w Clojure 1.3 +?Mapy Clojure: czy klucze i vals są w tej samej kolejności?
Mając to zachowanie sprawia, że nieco bardziej czytelnego kodu w niektórych sytuacjach, np
(defn replace-keys [smap m]
(zipmap (replace smap (keys m)) (vals m)))
vs.
(defn replace-keys [smap m]
(into {} (for [[k v] m] [(smap k k) v]))
Ogólnie rzecz biorąc, nie wydaje mi się, żeby dobrze było rozważyć "pozycję" w przypadku struktury danych mapy. – Ankur
Czy w 2013 r. Jest to szczegół wdrożenia lub obietnica? – ToBeReplaced