Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Arrayクラス > one?
one? -> bool
[permalink][rdoc]one? {|obj| ... } -> bool
one?(pattern) -> bool
ブロックを指定しない場合は、 配列の要素のうちちょうど一つだけが真であれば、真を返します。そうでなければ偽を返します。
ブロックを指定した場合は、配列の要素をブロックで評価した結果、一つの要素だけが真であれば真を返します。そうでなければ偽を返します。
%w{ant bear cat}.one? {|word| word.length == 4} # => true
%w{ant bear cat}.one? {|word| word.length > 4} # => false
%w{ant bear cat}.one?(/t/) # => false
[ nil, true, 99 ].one? # => false
[ nil, true, false ].one? # => true
[ nil, true, 99 ].one?(Integer) # => true
[].one? # => false
[SEE_ALSO] Enumerable#one?