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

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

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

作成日: 更新日:

基本的な使い方

compactメソッドは、nil要素を取り除く処理を実行するメソッドです。このメソッドは、Enumerator::Lazyクラスのインスタンスに対して呼び出され、レシーバが保持する一連の要素の中から、値がnilである要素をすべて除去します。

Enumerator::Lazyの文脈でcompactメソッドを利用する最大の利点は、その遅延評価の特性を活かせる点にあります。compactメソッド自体も遅延評価されるため、非常に大きなデータセットや無限のストリームに対してnil要素の除去を行う場合でも、実際に値が消費されるまで除去処理は実行されません。これにより、メモリの使用量を抑えながら効率的にデータを処理することが可能となります。

具体的には、compactメソッドは、nilが除去された新しいEnumerator::Lazyオブジェクトを返します。元のEnumerator::Lazyオブジェクトの内容は変更されず、破壊的な操作ではありません。データの前処理として、ストリームから無効なデータ(nil)を効率的にフィルタリングしたい場合に特に有効なメソッドです。

構文(syntax)

1[1, nil, 2, nil, 3].lazy.compact.to_a

引数(parameters)

引数なし

引数はありません

戻り値(return)

Enumerator::Lazy

nil値を除外した新しい遅延列挙子を返します。

関連コンテンツ