Ich habe zwei Code-Snippets, von denen ich annehme, dass beide zu Alarmen führen. Die erste führt jedoch zu keiner Zeit, während die zweite die Warnungen ausgibt.Clojurescript-Kartenfunktion verhält sich unerwartet
Diese geringfügige Änderung wird wie erwartet gedruckt (Null) und das Alert-Problem wird behoben. Die Frage ist WARUM?
Eine andere seltsame Beobachtung ist, dass das erste Snippet von einem Browser-Repl arbeitet, aber nicht, wenn in Code eingegeben.
Ist die Kartenfunktion Nebenwirkung frei, aber Druck ist nicht? Vielleicht eine Kerncode-Optimierung, von der ich nichts weiß?
Work-Arounds und Antworten werden beide geschätzt. Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte in einem Kommentar wissen.
[org.clojure/clojurescript "1.8.51"]
BOOT_CLOJURE_VERSION = 1.7.0
BOOT_VERSION = 2.5.5
java version "1.8.0_101"
Beschreibung : Ubuntu 14.04.4 LTS
Mögliche Duplikat [Nebeneffekt optimiert out] (http://stackoverflow.com/questions/31097067/side-effect-optimized-out) –
Ja, sie sprechen beide über das gleiche Thema. Allerdings weiß die Art von Menschen, die sich diese Frage fragen, wahrscheinlich nicht, was eine Nebenwirkung ist oder dass sie ihr Problem verursacht. Daher denke ich, dass meine Frage eher von den Leuten gefunden wird, die ihre Antwort brauchen. *** Zusammenfassend ist der einzige Grund für die Beibehaltung dieser Frage hier, dass es in der Frage nicht die Worte Nebeneffekt enthält. *** Wenn Sie das nicht für wichtig halten, wäre es sinnvoll, es zu entfernen. –