Clojure-variadic-functions

提供:Dev Guides
移動先:案内検索

Clojure-可変長関数

可変引数関数は、さまざまな数の引数をとる関数です(一部の引数はオプションです)。 関数は、「&」アンパサンド記号を指定して、任意の数の引数を受け取ることもできます。

次の例は、これを実現する方法を示しています。

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

上記の関数宣言には、引数otherの隣に「&」記号があります。つまり、任意の数の引数を取ることができます。

上記の関数を次のように呼び出した場合

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

出力

出力は次のようになります。

“HelloThis is the message”
*'clojure.string/join'* は、関数に渡される個々の文字列引数を結合するために使用されます。