【Ruby3.x】Array::collect()メソッドの使い方
collectメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
collectメソッドはArrayクラスに属し、配列の各要素に対して指定された処理を実行し、その結果を新しい配列として返すメソッドです。このメソッドの大きな特徴は、呼び出し元の配列そのものには一切変更を加えない「非破壊的」な操作である点です。
collectメソッドを使用する際には、処理内容を記述したブロック(do ... end または { ... })を引数として渡します。Rubyの実行環境は、このブロックを配列の各要素に対して順番に一度ずつ実行します。ブロックは配列の現在の要素を引数として受け取り、その要素に対してブロック内の処理を実行します。そして、ブロックの実行結果が、新しく作成される配列の対応する位置の要素となります。
例えば、[1, 2, 3]という配列の各要素を2倍にする場合、collectメソッドを使うことで[2, 4, 6]という新しい配列が生成されます。また、["hello", "world"]という文字列の配列を大文字に変換して["HELLO", "WORLD"]という新しい配列を得ることも可能です。元の配列のデータを保持したまま、要素を加工した新しいデータセットが必要な場合に非常に有用です。Rubyではmapメソッドもcollectメソッドと全く同じ機能を提供しています。
構文(syntax)
1[1, 2, 3].collect { |element| element * 2 }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array or Enumerator
Array#collect メソッドは、ブロックの評価結果を要素とする新しい配列を返します。ブロックが与えられなかった場合は、各要素にブロックを適用する Enumerator を返します。