Coffeescript-comprehensions
CoffeeScript-理解
前の章で、CoffeeScriptが提供するさまざまなループ、 while およびそのバリアントを学習しました。 それらに加えて、CoffeeScriptは comprehensions として知られる追加のループ構造を提供します。
オプションのガード句と現在の配列インデックスの値を明示的に追加すると、これらの内包表記は他のプログラミング言語の for ループを置き換えます。 内包表記を使用すると、配列だけでなくオブジェクトを反復することができ、配列を反復する内包表記は式であり、関数で返すか、変数に割り当てることができます。
S.No. | Statement & Description |
---|---|
1 |
|
2 |
配列のように、CoffeeScriptScriptは、オブジェクトと呼ばれるキーと値のペアを保存するためのコンテナーを提供します。 CoffeeScriptが提供する for..of 内包表記を使用してオブジェクトを反復できます。 |
3 |
CoffeeScriptの list 内包表記は、オブジェクトの配列を別の配列にマッピングするために使用されます。 |
理解の指標
要素のリスト/配列には、内包表記で使用できるインデックスがあります。 以下に示すように、変数を使用して内包表記で使用できます。
例
次の例は、CoffeeScriptの for…in 内包表記のインデックスの使用方法を示しています。 このコードを for_in_index.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。
後置形式の内包表記
接尾辞 if および unless と同様に、CoffeeScriptは、コードの作成中に便利なComprehensionsの接尾辞形式を提供します。 これを使用して、次のように for..in 内包表記を1行で記述できます。
リンク:/coffeescript/postfix_form_of_comprehensions [例を表示]
変数への割り当て
配列を反復するために使用する内包表記は変数に割り当てられ、関数によって返されます。
例
以下の例を考えてみましょう。 ここでは、 for..in 内包表記を使用して配列の要素を取得し、これを names という名前の変数に割り当てたことを確認できます。 また、 return キーワードを使用して明示的に内包表記を返す関数もあります。 このコードを example.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。
byキーワード
CoffeeScriptは、要素のリストを定義する範囲を提供します。 たとえば、範囲[1..10]は[1、2、3、4、5、6、7、8、9、10]と同等であり、すべての要素が1ずつ増加します。 内包表記の by キーワードを使用して、この増分を変更することもできます。
例
次の例は、CoffeeScriptが提供する for..in 内包表記の by キーワードの使用方法を示しています。 このコードを by_keyword_example.coffee という名前のファイルに保存します
- コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
コンパイル時に、次のJavaScriptが提供されます。
次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。
CoffeeScriptファイルを実行すると、次の出力が生成されます。