interleave と zipmap の使い分け
どちらもイメージ的に間に挟み込むと言う結果では似てはいるなとふと思った。
user> (zipmap [:a :b] [1 2]) {:b 2, :a 1} user> (interleave [:a :b] [1 2]) (:a 1 :b 2)
つか zipmap ってこうか
(apply merge (map (partial assoc {}) [:a :b] [1 2]))
ソース見たら loop でやってた。まあいいか。
結果をマップ*1として使い続けたい時は zipmap, シーケンシャルに扱いたい時は interleave みた
いな使い分けになるのかな。
*1:データ構造としてのシーケンス・マップと単なる関数の sequence や map を区別す る為に、データ構造を指す時はカタカナ表記、関数を指す場合はそのままのアルファベット表記をす るべく頑張る