(def threads
{:values
[{:_id "t1"
:u {:uid 1}
:members {:values [{:uid 1} {:uid 2}]}
:messages {:values
[{:_id "m1" :u {:uid 1}}
{:_id "m2" :u {:uid 2}}]}}
{:_id "t2"
:u {:uid 12}
:members {:values [{:uid 11} {:uid 12}]}
:messages {:values
[{:_id "m3" :u {:uid 13}}
{:_id "m4" :u {:uid 12}}]}}]})
trzeba sprawdzić wszystkie wartości dla klucza: uid W tym przypadku odpowiedź powinna powrócić [1 2 11 12 13] bez użycia globalny wiązania. Potrzebuje skali rozwiązania dla dowolnego poziomu struktury zagnieżdżonej.Jak zdobyć wszystkie wartości dla danego klucza w zagnieżdżonej struktury w Clojure
Dzięki
Dzięki Arthur. Lubię więcej odpowiedzi na pytanie o drzewo. Jak już zacząłem używać clojure - lubię kroki danych-w-danych-out bardziej niż podejścia atomowe. Nauczyłem się czegoś nowego dzisiaj - wielkie dzięki :) –
'(map: uid (filter # (if (and (map?%) (: Uid%)) true false) coll))' może być zastąpione właśnie '(keep: uid coll) '. – amalloy
ohhh, fantazyjnie :) Podoba mi się wygląd tego o wiele lepiej. –