Я ищу что-то подобное select-keys:Есть ли стандартный func, который принимает dict и список ключей и возвращает список соответствующих vals?
(desired-fn {:a 1, :b 2, :c 3, :d 4} [:a :d])
;= [1 4]
;; N.B. the order of the keys in the argument seq is preserved
(= (desired-fn (array-map :a 1, :b 2, :c 3, :d 4)
[:b :c])
(desired-fn (array-map :d 4, :c 3, :a 1, :b 2)
[:b :c]))
;= true
Это не особенно трудно осуществить, хотя я не пытался придумать хорошее название еще:
(defn select-values-corresponding-to-keys [m ks]
(for [k ks]
(get m k)))
Am I не знающий стандартную функцию, которая отвечает именно этой потребности? Если нет, выполните другие языки - например, Python, Ruby, Haskell - есть имя для этой функции?
Как очевидно, существует «каноническая» реализация, и это «карта»; любой из приведенных выше ответов «карта» правильный. «map», используемый таким образом, является синонимом того, что статья Джей использует «select-values». –