Clojure-atoms-swap

提供:Dev Guides
移動先:案内検索

Clojure-原子スワップ!

特定の関数に基づいて、原子の値を新しい原子と原子的に交換します。

構文

構文は次のとおりです。

(swap! atom-name function)

パラメータ-「atom-name」は、値をリセットする必要があるアトムの名前です。 「関数」は、アトムの新しい値を生成するために使用される関数です。

戻り値-新しい値を持つアトムは、提供された関数に基づいて設定されます。

これがどのように使用されるかの例は、次のプログラムに示されています。

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def myatom (atom 1))
   (println @myatom)

   (swap! myatom inc)
   (println @myatom))
(example)

出力

上記のプログラムは、次の出力を生成します。

1
2

上記のプログラムから、スワップの助けを借りて、アトムの値をインクリメントするために 'inc' (インクリメント関数)が使用されていることがわかります! 関数では、新しい値は自動的にアトムに関連付けられます。