Zoeken…


Invoering

Een atoom in Clojure is een variabele die in uw programma kan worden gewijzigd (naamruimte). Omdat de meeste gegevenstypen in Clojure onveranderlijk (of onveranderlijk) zijn - u kunt de waarde van een nummer niet wijzigen zonder het opnieuw te definiëren - zijn atomen essentieel in Clojure-programmering.

Definieer een atoom

Om een atoom te definiëren, gebruikt u een gewone def , maar voegt u daarvoor een atom toe:

(def counter (atom 0))

Dit creëert een atom met waarde 0 . Atomen kunnen van elk type zijn:

(def foo (atom "Hello"))
(def bar (atom ["W" "o" "r" "l" "d"]))

Lees de waarde van een atoom

Om de waarde van een atoom te lezen, plaatst u eenvoudig de naam van het atoom, met een @ ervoor:

@counter ; => 0

Een groter voorbeeld:

(def number (atom 3))
(println (inc @number))
;; This should output 4

Werk de waarde van een atoom bij

Er zijn twee commando's om een atoom te veranderen, swap! en reset! . swap! krijgt commando's en verandert het atoom op basis van zijn huidige status. reset! verandert de waarde van het atoom volledig, ongeacht wat de oorspronkelijke atoomwaarde was:

(swap! counter inc) ; => 1
(reset! counter 0) ; => 0

Dit voorbeeld geeft de eerste 10 vermogens van 2 met behulp van atomen:

(def count (atom 0))

(while (< @atom 10)
  (swap! atom inc)
  (println (Math/pow 2 @atom)))


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow