As funções variáveis são funções que recebem vários argumentos (alguns argumentos são opcionais). A função também pode especificar o símbolo '&' e comercial para incluir um número arbitrário de argumentos.
O exemplo a seguir mostra como isso pode ser alcançado.
(defn demo
[message & others]
(str message (clojure.string/join " " others)))
A declaração da função acima tem o símbolo '&' próximo ao argumento others, o que significa que ela pode receber um número arbitrário de argumentos.
Se você invocar a função acima como
Exemplo
(demo "Hello" "This" "is" "the" "message")
Resultado
A seguir será a saída.
“HelloThis is the message”
o ‘clojure.string/join’ é usado para combinar cada argumento de string individual, que é passado para a função.