Clojure - 原子交換(swap!)



以原子方式將原子的值與基於特定函式的新值交換。

語法

以下是語法。

(swap! atom-name function)

引數 - ‘atom-name’ 是需要重置其值的原子的名稱。‘function’ 是用於生成原子新值的函式。

返回值 - 基於提供的函式,將設定具有新值的原子。

示例

以下程式顯示瞭如何使用此功能的示例。

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

輸出

以上程式產生以下輸出。

1
2

從上面的程式中您可以看到,‘inc’(增量函式)用於增加原子的值,並且在 swap! 函式的幫助下,新值會自動與原子關聯。

clojure_atoms.htm
廣告

© . All rights reserved.