Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 を返します。

関連コンテンツ

関連プログラミング言語