Say I eine verschachtelte Map-Struktur haben, wieClojure - Aktualisierung jeder innere Karte in Nested Karte
{:val1 {:m1 1 :m2 2 :m3 2} :val2 {:m1 4 :m2 8 :m3 7}}
nur Dieses Beispiel hat zwei Werte, aber es im Allgemeinen könnte mehr sein. Ich weiß, dass die Schlüssel für jede der verschachtelten Karten gleich sind (: m1,: m2 und: m3 im obigen Beispiel). Ich habe eine Liste von Schlüsselwörtern, sagen
[:m1 :m3]
, und ich möchte den Wert jeder inneren Karte durch eine Zahl teilen, sagen 5, für jedes der Schlüsselwörter in der Liste angegeben. Fortfahrend mit meinem Beispiel möchte ich erhalten
{:val1 {:m1 1/5 :m2 2 :m3 2/5} :val2 {:m1 4/5 :m2 8 :m3 7/5}}
Wie kann ich das tun? Für einen festen inneren Schlüssel wie: m1, kann ich
(map #(update-in % [1 :m1]/5) nested-map)
tun, aber ich bin nicht sicher, wie dies von Schlüsselwort, um eine Liste zu verallgemeinern. Vielen Dank!
Werfen Sie einen Blick auf [Gespenst] (https://github.com/nathanmarz /Gespenst). –