Coffeescript-splat
CoffeeScript-スプラット
前の章では、関数を定義し、関数を呼び出して引数を渡す方法を説明しました。 一般に、関数に固定数の引数を渡すことができます。 プログラミング中に、変数引数をこれらの関数に渡す必要がある状況に直面する場合があります。 JavaScriptでは、オブジェクトを使用して、関数への可変数の引数を受け入れます。
CoffeeScriptには、複数の引数を関数に渡すための splats という機能があります。 関数でスプラットを使用するには、引数名の後に3つのドットを配置し、 … で示します。
構文
以下に、スプラットを使用して関数内で複数の引数を受け入れる構文を示します。
例
以下は、スプラットを使用して、関数内で複数の引数を受け入れる例です。 ここでは、スプラットを使用して* indian_team()という名前の関数を定義しました。 この関数を3回呼び出しており、呼び出すたびに4人のプレーヤー、6人のプレーヤー、およびフルチームを同時に渡します。 関数定義でスプラットを使用しているため、呼び出すたびに可変数の引数を受け入れます。 このコードを *splats_definition.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。
スプラットを使用した関数の呼び出し
スプラットを使用して関数を呼び出すこともできます。 そのためには、関数に渡す必要のある要素を保持する配列を作成する必要があります。次に示すように、3つのドットが末尾に付いた配列を渡すことで関数を呼び出す必要があります。
例
以下は、スプラットを使用して関数を呼び出す例です。 このコードを splats_call.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。
テーリング引数を持つスプラット
スプラットにテーリング引数を渡すこともできます。 以下の例では、感嘆符の後に last という名前の末尾引数を渡しました。 この例を tailing_arguments.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。
スプラットの理解
関数内では、次の例に示すように、内包表記を使用してスプラットの要素を繰り返すこともできます。 このコードを splats_comprehensions.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。