Clojure alter

2018-12-28 14:39 更新

此函數(shù)用于更改引用類型的值,但以安全的方式。 這是在一個線程中運行的,它不能被另一個進程訪問。 這就是為什么命令需要與一個'dosync'方法總是相關聯(lián)。 其次,要更改引用類型的值,需要調用函數(shù)以對該值進行必要的更改。

語法

下面是 alter 的使基本語法:

(alter refname fun)

參數(shù) ? 'refname'是保存引用值的變量的名稱。 'fun'是用于更改引用類型的值的函數(shù)。

返回值 ? 引用及其對應的新值。

下面是 alter 的使用示例:

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def names (ref []))
   
   (defn change [newname]
      (dosync
         (alter names conj newname)))
   (change "John")
   (change "Mark")
   (println @names))
(Example)

輸出

以上示例將輸出以下結果:

[John Mark]
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號