Подтвердить что ты не робот

Что происходит, когда я передаю аргументы символу Clojure?

Если я это сделаю:

('a 'b 'c)

Я получаю это:

c

Почему?

4b9b3361

Ответ 1

Ссылка Hauleth размещена, это хороший обзор для символов, но ответ на ваш вопрос заключается в том, что вызов символа как функции эквивалентен просмотру этого символа в первом аргументе.

('a 'b)

эквивалентно

(get 'b 'a)

Документация для получения показывает, что вы можете передать необязательный третий аргумент в качестве значения по умолчанию. В вашем примере "c рассматривается как значение по умолчанию и возвращается, поскольку" b не является картой, а "a не может быть найден".