私はクロージャを学ぼうとしています。
文字列の配列を返す関数を呼び出しています..
私が行った場合:
(let [items (get-all-items)]
(println (type items))
(items))
type
値はitems
次のようになりますclass clojure.lang.PersistentVector
。items
[["Dogs"] ["Cats"] ["Capybaras"] ["Pygmy Hedgehogs"]]
これを次のような形式のマップに変換したいと思います。
{ "Dogs" "Cats" "Capybaras" "Pygmy Hedgehogs" }
それは理にかなっていますか?Clojure マップには文字列のリストを含めることができますよね?
これを行っているのは、マップとして持っている場合、次のようにリストにペットがいるかどうかを確認できるためです。
(contains? pets "Dogs")
; assuming the map is stored in pets variable
pets
がベクトルの場合は失敗します。
それで、それをマップに変換できる場合、どうすれば変換できますか? そうでない場合、ベクター内の何かを検索するにはどうすればよいですか?
(私は地図を扱うのが好きなので、そうしない強い理由がない限り、むしろ地図が欲しいです)
ps: で変換しようとしまし たが、それも機能しません。