【Ruby3.x】Array::one?()メソッドの使い方
one?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
one?メソッドは、配列内に指定された条件を満たす要素が「ちょうど一つだけ」存在するかどうかを判定するメソッドです。
このメソッドは、通常、配列の各要素に対してブロックを渡して使用します。ブロック内で定義された条件式が、配列内の要素のうちちょうど一つだけに対して真(true)を返した場合に、one?メソッドはtrueを返します。それ以外の場合、つまり条件を満たす要素が一つもなかったり、二つ以上あったりする場合には、falseを返します。
ブロックが指定されない場合、one?メソッドは配列の要素自体を条件として評価します。具体的には、nilやfalseではない値を持つ要素が配列内にちょうど一つだけ存在するかどうかを判定します。
例えば、[1, 2, 3].one? { |n| n > 2 } は、要素 3 のみが条件 n > 2 を満たすため true を返します。また、[1, 2, 3].one? { |n| n < 3 } の場合、要素 1 と 2 の二つが条件を満たすため false を返します。さらに、[nil, 1, false].one? は、要素 1 のみが nil でも false でもないため true を返します。
このone?メソッドは、配列内の要素が特定の条件を「ただ一つ」満たすことを確認したい場合に非常に有効です。システム開発において、唯一の特定の状態や項目が存在するかどうかを検証する際に利用できます。
構文(syntax)
1[1, 2, 3].one? { |element| element == 2 }
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
指定されたブロック内の要素のいずれか一つでもブロックの条件を満たす場合に true を返します。一つも満たさない場合は false を返します。