0
私はベクトルfoのキーワードを持っています。実際のデータを持つベクトルの集合を持っています。それぞれのキーワードを検索し、そのベクトルが含まれているベクトルがあればtrueを返します。今のところ、1つのキーワードに対してのみ実装されていますが、キーワードのベクトルに対しては機能しません。私はClojureで非常に新しいので、どんな提案も高く評価されます。ベクトルコレクション内のベクトル要素を検索する
(def results (apply map vector [["test1" "test2"] ["test3" "test4" "test5"]]))
(defn in?
"true if coll contains elm"
[coll]
(some #(= "test4" %) coll))
(println (map #(in? %) results))
が、私はこのような何かしたい:ここ は、これまでの私のコードですsearchwordsは、[ "TEST2されている場合は、この唯一の作品次
(defn search
[coll keyword]
(println (flatten coll))
(if (= (flatten coll) (list keyword))
true))
(defn in?
[coll keyword]
(map #(search % %2) coll keyword))
(in? results searchwords)
;=> (true)
を試みることができる
(def searchwords ["test3" "test2"])
(def results (apply map vector [["test1" "test2"] ["test3" "test4" "test5"]]))
(defn in?
"true if coll contains elm"
[coll keyword]
(some #(= keyword %) coll))
達成しようとしていることについてちょっと説明できますか?入力と出力の例が役に立ちます。 – OlegTheCat
たとえば今のところ?関数が戻る(nil、true)、これは "test4"が2番目のベクトルで見つかったことを意味し、何度も達成したいのはいつでも(some#(=キーワード%)coll)はtrueを返して、再び検索されたキーワードを変更する。 – fishera
あなたが実装する必要がある機能のための入力と期待される出力。質問にそれらを追加してください。 – OlegTheCat