تحليل خريطة عباءة للعناصر -> فئات مقالات إلى قوائم مصنفة

StackOverflow https://stackoverflow.com/questions/9507071

سؤال

لدي خريطة لأسماء العناصر ونوافلات المتجهات التي تخزن الفئات التي تخزنها عنصر السلسلة الرئيسية. أحاول تحليل هذه الخريطة في زوجين Hiccup Defpartials والتي يمكنها عرضها من تنظيمها حسب الفئة.

ما أعتقد أنني بحاجة إلى القيام به هو تحليل الخريطة مرة واحدة لإنشاء مجموعة من جميع الفئات المحتملة والفئات الفرعية.بمجرد أن أتمكن من أن أتمكن من تكرار ذلك وتصفية جميع المباريات من الخريطة الرئيسية للحصول على السلاسل الرئيسية المناسبة.

كيف يمكنني الذهاب من الخريطة أدناه، إلى مجموعة من جميع الفئات الرئيسية والفرعية؟بمجرد أن أضرب، كيف يمكنني استخدامه في الاستعلام عن الخريطة الأصلية بالقيم غير حسب المفتاح

شكرا لأي مساعدة! giveacodicetagpre.

الهدف في رمز SUDO giveacodicetagpre.

هل كانت مفيدة؟

المحلول

I do not know what a defpartial is, but this will transform that map:

(defn xform [ic]
  (reduce (fn [result [k [vs]]]
        (reduce (fn [r v]
              (assoc r v (cons k (r v)))))
            result vs))
      {} ic))

user=> (xform ITEM-CATEGORIES)
{"SubcategoryA" ["thingy"], "CatergoryA" ["thingy"], "Ambisonics" ["thingy5"],
 "Multichannel" ["thingy5"], "Pitch" ["thingy4"], "Analysis" ["thingy4"],
 "Chaotic" ["thingy3"], "Generators" ["thingy3"], "FFT" ["thingy2"]}

نصائح أخرى

When I find my self thinking about going up and down nested data structure my mind jumps to the zipper library you could take ITEM-CATECORIES and build a zipper of it then make any number of relations by 'zipping' up and down the tree.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top