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

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

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

作成日: 更新日:

基本的な使い方

compact!メソッドは、配列からすべてのnil要素を削除するメソッドです。このメソッドの最大の特徴は、レシーバである元の配列自身の内容を直接変更する「破壊的メソッド」である点です。

具体的には、配列内に含まれる「何もない」ことを意味する特殊な値であるnilをすべて探し出し、それらの要素を配列から取り除きます。これにより、配列から不要なnil要素がなくなり、中身が整理されます。

処理後の戻り値には二つのパターンがあります。もし配列にnil要素が含まれており、それらが削除された場合は、変更後の配列自身が戻り値として返されます。一方、もし配列に最初からnil要素が一つも含まれておらず、配列の内容に変更がなかった場合は、このメソッドはnilを返します。この戻り値の違いによって、プログラマーは配列が変更されたかどうかを容易に判断できます。

compact!メソッドは、データベースからの読み込みや外部ファイルからのデータ解析などで、nil値が含まれる可能性のある配列から、有効なデータのみを抽出して利用したい場合に非常に役立ちます。元の配列を保持したままnil要素を取り除きたい場合は、非破壊的なcompactメソッドを使用することを検討してください。

構文(syntax)

1array = [1, nil, 2, nil, 3]
2array.compact!

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array または nil

配列からnil要素を削除し、自身を破壊的に変更した場合はその配列を、変更されなかった場合はnilを返します。

関連コンテンツ

関連プログラミング言語