2 Stimmen

Wie kann ich auf eine Karte in einer Atomkarte zugreifen?

Ich versuche, auf eine Karte in einer Atomkarte zuzugreifen. Ich habe das:

(def database (atom {:henk {:username "henk" :password "johnson" :session "test"}
:steve {:username "steve" :password "boldwin" :session "test2"}
:cane {:username "cane" :password "john" :session "test3"}}))

Ich habe versucht, swap! innerhalb von dosync zu verwenden, aber ich scheine nicht auf den gewünschten Wert zugreifen zu können. Kannst du mir helfen?

4voto

Alexey Kachayev Punkte 6106

Zur Änderung:

user=> (swap! database assoc-in [:henk :session] "test + swap")
{:cane {:session "test3", :username "cane", :password "john"}, 
 :henk {:session "test + swap", :username "henk", :password "johnson"}, 
 :steve {:session "test2", :username "steve", :password "boldwin"}}

Überprüfen Sie, ob der Wert aktualisiert wurde:

user=> @database
{:cane {:session "test3", :username "cane", :password "john"}, 
 :henk {:session "test + swap", :username "henk", :password "johnson"}, 
 :steve {:session "test2", :username "steve", :password "boldwin"}}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X