【Ruby3.x】Set::add?()メソッドの使い方
add?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
add?メソッドは、Setオブジェクトに新しい要素を追加し、その追加が実際に成功したかどうかを判定するメソッドです。Setは、重複する要素を許さないコレクションであり、add?メソッドは、指定された要素がSetにまだ含まれていない場合にのみ、その要素を追加します。
もし指定した要素がSetにまだ含まれていない場合、その要素はSetに追加され、メソッドは追加後のSetオブジェクト自身を返します。これは、新しい要素がSetに正常に追加されたことを示します。
一方、もし指定した要素が既にSetに含まれている場合、Setに変更は加えられず、メソッドはnilを返します。これにより、要素が重複して追加されるのを防ぎつつ、その要素が新しく追加されたものかどうかをプログラムで簡単に判断することができます。
このメソッドは、同じく要素を追加するSet#addメソッドと似ていますが、Set#addが常にSetオブジェクト自身を返すのに対し、add?メソッドは追加の成否によって返り値が変わる点が異なります。そのため、特定の要素がSetに初めて追加された時だけ特定の処理を実行したい場合や、重複を避けながら要素を追加し、その結果を知りたい場合に特に役立ちます。
構文(syntax)
1require 'set' 2 3my_set = Set.new([1, 2]) 4my_set.add?(3) # 要素 '3' は存在しないため追加され、Set自身を返す 5my_set.add?(2) # 要素 '2' は既に存在するため追加されず、nilを返す
引数(parameters)
element
- element: Setに追加する要素。既にSet内に存在する場合は追加されません。
戻り値(return)
Set or nil
追加が成功した場合は Set オブジェクトを、既に要素が存在していた場合は nil を返します。