1
Clojure async put! docs говорит (курсив добавлен)Clojure async класть! Возвращаемое значение
Асинхронный ставит Валу в порт, вызывая Fn0 (если входит в комплект), когда завершена. значения nil не допускаются. Бросает, если закрыт. Если on-caller? (по умолчанию true) истинно, а put сразу принят, вызывается fn0 при вызове потока. Возвращает ноль.
Еще пример кода возвращает истину
user=> (put! c "XYZ")
true
ли документы неправильно или я что-то отсутствует?
ли 'fn1' (1) означают одно ARG? –
Нет, это литерно имя аргумента '([port val fn1] (put! Port val fn1 true)) * * creative * eh? –
Я имею в виду соглашение о том, что fn1 означает функцию 1 arg? Я попробовал '(put! C 125 (fn [] (println« done with put »)))' и получил 'clojure.lang.ArityException: ошибочное количество аргументов (1) прошло' при выполнении 'take!'. Но '(put! C 125 (fn [x] (println" done with put ")))' работал отлично, что заставляет меня думать, что ему нужна функция 1 arg. –