【Ruby3.x】Set::keep_if()メソッドの使い方
keep_ifメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
keep_ifメソッドは、Set オブジェクトが保持する要素の中から、特定の条件に合致するものだけを残す処理を実行するメソッドです。
このメソッドは、Set 内の各要素を一つずつ取り出し、引数として与えられたブロック(条件式)で評価します。ブロックが真 (true) を返した要素はセットにそのまま残り、偽 (false) を返した要素はセットから削除されます。この操作は元の Set オブジェクト自体を直接変更します。
例えば、数値のセットから偶数だけを残したい場合や、特定の条件を満たす文字列だけを保持したい場合などに非常に有効です。メソッドの実行後には、条件を満たした要素のみが残った Set オブジェクト自身が返されます。
もしブロックが与えられなかった場合、keep_if メソッドは Enumerator オブジェクトを返します。これは、後から処理を連結するなどの柔軟な使い方ができることを示しています。このメソッドは、セットから不要な要素を効率的に取り除き、必要なデータだけを抽出する場面で役立ちます。
構文(syntax)
1require 'set' 2 3my_set = Set[1, 2, 3, 4, 5, 6] 4my_set.keep_if { |element| element.even? }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Set
指定された条件を満たすSetクラスのkeep_ifメソッドの戻り値の説明を以下に示します。
keep_ifメソッドは、ブロックの評価結果が真となる要素のみを残した元のSetオブジェクト自体を返します。