select-keysに似たものを探しています:
(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)))
このニーズを正確に満たす標準関数を知らないのでしょうか? そうでない場合、他の言語 (Python、Ruby、Haskell など) にはこの関数の名前がありますか?