日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

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 を区別す る為に、データ構造を指す時はカタカナ表記、関数を指す場合はそのままのアルファベット表記をす るべく頑張る