99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Clojure send-off

2018-12-27 15:35 更新

存在這樣的情況,其中給代理分配本質(zhì)上是阻塞的功能。 一個(gè)簡單的例子是,考慮你正在從一個(gè)文件中讀取內(nèi)容,而文件本身是阻塞的。 所以發(fā)送功能將首先立即返回代理并繼續(xù)文件操作。 當(dāng)文件操作完成時(shí),它將自動(dòng)使用文件的內(nèi)容更新代理。

語法

以下是 send-off 基本語法:

(send agentname function value)

參數(shù) ? 'agentname'是發(fā)送功能被重定向到的代理。 “函數(shù)”用于確定代理的值將更改的方式。 在我們的示例中,我們將使用加號+符號向代理的現(xiàn)有值中添加一個(gè)值。 'Value'是傳遞給函數(shù)的值,它將相應(yīng)地用于更新代理的值。

返回值 ? 首先返回代理,如果有一個(gè)非阻塞函數(shù)。 最后,返回一個(gè)帶有新值的代理對象。

下面的程序顯示了如何使用 send-off 的示例。

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def counter (agent 0))
   (println @counter)
   
   (send-off counter + 100)
   (println @counter)
   (println @counter))
(Example)

我們正在查看同一個(gè)遞增計(jì)數(shù)器值的示例,但是從以下輸出中可以清楚發(fā)送功能的作用。

輸出

以上示例輸出以下結(jié)果:

0
0
0

可以看出,即使我們已經(jīng)發(fā)送代理一個(gè)函數(shù)將值設(shè)置為100,它不立即反映。 發(fā)送關(guān)閉函數(shù)首先返回代理的值。 一旦Clojure正確地設(shè)置了代理的值,代理的值就會被更新,我們可以看到代理的新值。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號