Símbolo Ampersand - marcador de argumentos variádicos
O símbolo & (ampersand) é o marcador sintático utilizado no vetor de parâmetros de uma função para indicar o início dos argumentos variádicos.
NOTE
Todo argumento posicionado após o
&é coletado pelo Clojure Reader e transformado em uma sequência (lista) para uso interno na função.
Exemplo de sintaxe:
(defn hello [greeting & who]
(println greeting who))
No exemplo acima:
greeting: Captura o primeiro argumento obrigatório.who: Captura todos os demais argumentos fornecidos e os agrupa em uma lista.
Ao invocar (hello "Hello" "world" "class"), o símbolo who será avaliado como a lista ("world" "class").