В Common Lisp вы можете сделать это:аргументов Clojure ключевого слова
(defun foo (bar &key baz quux)
(list bar baz quux))
(foo 1 :quux 3 :baz 2) ; => (1 2 3)
Clojure не имеют аргументов ключевых слов. Один из вариантов заключается в следующем:
(defn foo [bar {:keys [baz quux]}]
(list bar baz quux))
(foo 1 {:quux 3 :baz 2}) ; => (1 2 3)
Это слишком много вложенных скобок, чтобы напечатать и читать все время. Для этого также требуется, чтобы явная хэш-карта передавалась как аргумент, а не как плоский список.
Какой самый идиоматический эквивалент Ключевого слова, связанный с ключевыми словами, который не смотрит, что кто-то отправил препинающую бомбу?
Поскольку этот вопрос был обязательное уничтожение того, были добавлены в Clojure последнего активным ключевым слова. Я дал ответ, чтобы указать на это. –
@Brian вы должны рассмотреть возможность обновления принятого ответа. –