Clojure - Fonctions variadiques

Les fonctions variadiques sont des fonctions qui acceptent un nombre variable d'arguments (certains arguments sont facultatifs). La fonction peut également spécifier le symbole esperluette '&' à prendre dans un nombre arbitraire d'arguments.

L'exemple suivant montre comment cela peut être réalisé.

(defn demo 
   [message & others]
   (str message (clojure.string/join " " others)))

La déclaration de fonction ci-dessus a le symbole «&» à côté de l'argument others, ce qui signifie qu'elle peut prendre un nombre arbitraire d'arguments.

Si vous invoquez la fonction ci-dessus comme

Exemple

(demo "Hello" "This" "is" "the" "message")

Production

Voici la sortie.

“HelloThis is the message”

le ‘clojure.string/join’ est utilisé pour combiner chaque argument de chaîne individuel, qui est passé à la fonction.