私は関数のアプリケーション(出力への入出力)を表すハッシュマップを返すより高次のmap
関数を持っています。したがって、使用する入力から出力へのハッシュマップにマップしますか?この機能は存在しますか?
(defn map-application [f coll] (into {} (map #(vector % (f %)) coll)))
:この機能は、すでに
(map-application str [1 2 3 4 5])
{1 "1", 2 "2", 3 "3", 4 "4", 5 "5"}
(map-application (partial * 10) [1 2 3 4 5])
{1 10, 2 20, 3 30, 4 40, 5 50}
存在するか、またはこのパターンは、認識され名前がありますか?
私はそれが1本のライナーだと知っていますが、clojure.core
の関連機能の星座を見ると、これは既に存在するもののようです。
ありがとう! 'juxt'は、乱雑なベクトルのものよりもずっと良いです。また、トランスデューサを使用することも改善されています。しかし、私の質問はトップレベルの関数(本質的には '{{}'の部分ですが、 'into 'を使ったタプルseqではなくトランスデューサを使って別の使い方をしています)。 – Joe