Clojure-commute
提供:Dev Guides
Clojure-通勤
Commuteは、alterやref-setと同様に、参照型の値を変更するためにも使用されます。 唯一の違いは、これも「dosync」ブロック内に配置する必要があることです。 ただし、これは、どの呼び出しプロセスが実際に参照型の値を変更したかを知る必要がないときはいつでも使用できます。 通勤では、関数を使用して参照変数の値を変更します。
構文
構文は次のとおりです。
(commute refname fun)
パラメータ-「refname」は、参照値を保持する変数の名前です。 「楽しい」は、参照タイプの値を変更するために使用される関数です。
戻り値-参照とそれに対応する新しい値。
例
これがどのように使用されるかの例は、次のプログラムに示されています。
(ns clojure.examples.example
(:gen-class))
(defn Example []
(def counter (ref 0))
(defn change [counter]
(dosync
(commute counter inc)))
(change counter)
(println @counter)
(change counter)
(println @counter))
(Example)
出力
上記のプログラムは、次の出力を生成します。
1
2