【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値を除外した新しい遅延列挙子を返します。