2017-09-26 177 views
1

中有一個名爲alts!的函數來等待多個通道上的消息。在Go中,這叫做select(就像從多個通道中選擇一條消息一樣),但是Clojure中「alt」的含義是什麼?「alt!」的含義在clojure.core.async中的Clojure

我知道函數做什麼,但我記住了函數名的時候,我不知道什麼是「低價競標」方式很難?它是「替代品」的捷徑嗎?

+2

這一直是我的想法。它從一組alt(首字母)中選出第一個。 – Carcigenicate

+1

這可能是「替代品」的縮寫。該術語至少在[公告](https://clojure.org/news/2013/06/28/clojure-clore-async-channels)中詳細說明。 – glts

+2

名字'ALTS!'和'ALT!'可能是從類似'ALT'推導構建在[奧卡姆的編程語言(https://en.wikipedia.org/wiki/Occam_(programming_language)),雖然奧卡姆的' ALT'條款每個都有條件保護。 – Thumbnail

回答

0

從文檔字符串爲alt!(強調):

由低價競標使單個的選擇,如果之間的一個數信道的操作,如 !

alts!(強調):

完成對至多一個幾個信道操作。

這將支持「alt」是「替代」或「替代品」的簡稱。換句話說,可以選擇幾種選擇之一。