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

【Ruby3.x】Array::collect!()メソッドの使い方

collect!メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

collect!メソッドは、Arrayオブジェクトの各要素に対してブロックを実行し、その戻り値で元の配列の要素を置き換える(破壊的に変更する)メソッドです。

このメソッドは、配列の各要素を一つずつブロックに渡します。ブロック内で実行された処理の結果が、元の要素の代わりに新しい要素として配列に格納されます。この操作により、レシーバである配列自身が直接変更され、元の配列の内容が書き換えられます。元の配列を保持したい場合は、配列を破壊的に変更しない非破壊版のcollect(またはmap)メソッドを使用してください。

collect!メソッドはmap!メソッドと全く同じ動作をしますので、どちらを使用しても結果に違いはありません。もしブロックを渡さなかった場合、collect!メソッドはEnumeratorオブジェクトを返します。これにより、遅延評価やメソッドチェーンといった柔軟な処理が可能になります。配列の要素を直接変換したり、条件に基づいて更新したりする際に非常に役立つメソッドです。

構文(syntax)

1arr = [1, 2, 3]
2arr.collect! { |element| element * 2 }

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array

collect! メソッドは、ブロックで評価された結果を要素とする新しい配列を返します。元の配列は変更されません。

関連コンテンツ

関連プログラミング言語