Как: плавник используется? - PullRequest
4 голосов
/ 03 ноября 2011

В Clojure Коанс : плавник используется в atom.clj. Вот один пример:

(def atomic-clock (atom 0))

  "Atomic atoms are atomic"
  (= 20 (do
          (compare-and-set! atomic-clock 100 :fin)
          @atomic-clock))

Я понимаю, что: fin - это новое значение. Но почему он используется вместо числа?

Я искал документацию по: используемому плавнику и не могу найти его применение, кроме как в коанах.

Спасибо.

1 Ответ

8 голосов
/ 03 ноября 2011

В Clojure двоеточие создает нечто, называемое ключевым словом или ключом:

user=> (type :xyz)
clojure.lang.Keyword

Ключи используются в картах, поскольку их легко проверять на равенство и преобразовывать в строки.Вы можете видеть, что позже в том же файле снова используется :fin для проверки на равенство:

(= :fin (do
        (compare-and-set! __ __ __)
        @atomic-clock)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...