Ziemlich neu zu clojure also sei nett.Warum wird meine Karte nicht aktualisiert?
(def state {:currentPosition "1"})
(while (not= (state :currentPosition) "2") ; this is true
(assoc state :currentPosition "2") ;
)
Dies bewirkt eine Endlosschleife und es wird nicht laufen, aber ich verstehe nicht, warum. Die Bedingung
(not= (state :currentPosition) "2")
gilt
daher die Schleife beginnt, dann in der Schleife, ich den Zustand bin zu aktualisieren. Warum hört der Loop nicht auf und bleibt nur der Leuchttisch stehen? Danke
Ben, Piotrs Antwort ist korrekt, was Sie speziell gefragt haben. Sie wissen das vielleicht, aber die Art von Dingen, die Sie tun, ist nicht idiomatisch. (Manchmal müssen Sie das auch tun, deshalb gibt es Atome.) Es ist in Ordnung, die Dinge so zu machen, wie Sie es gewohnt sind, wenn Sie die Sprache lernen, aber Sie werden Clojure- lernen wollen. Style-Coding-Strategien ziemlich schnell. Es kann zunächst etwas peinlich sein, aber sobald Sie sich an die funktionale Programmierung gewöhnt haben, ist es schön und macht Spaß (imho). Wenn ich Ihnen Dinge erzähle, die Sie bereits gehört haben, ignorieren Sie diesen Kommentar. – Mars
Ich stimme völlig zu, ich versuche "normal" zu programmieren. Es ist nur eine echte große Veränderung zu dem, was ich gewohnt bin lol – Ben