私はクロジュールの初心者です。 lazySeqからマップを作成するにはどうすればよいですか?
(def fields [:name :age :color])
(def values ["joe" 32 "red"])
(def record (interleave fields values))
(def mymap (into {} record)) ;; ????
;; (get mymap :age)
;; 32
あなたの実際の質問に答えるには:
(apply hash-map record)
しかし、実際にはすでに別々のキーと値を持っているので、
(zipmap fields values)
または、into
に心を向けているなら、
(into {} (map vector fields values))
これはまったく賢明ではありませんが、元の質問ではinto
をrecord
とともに使用したかったためです。
(into {} (map vec (partition 2 record)))