Ruby

Ruby の empty? の逆は any? ではない

More than 1 year has passed since last update.

ruby の empty? は要素の数が 0 の場合に true を返すメソッドですが、any? は真となる要素が存在している場合に true を返すメソッドなので、例えば次のコードは両方とも false を返します。

a = [false]

p a.empty? #=> false
p a.any?   #=> false

なので、 empty? の逆の結果が欲しい場合は ! を使いましょう。

a = [false]

p a.empty?   #=> false
p !a.empty?  #=> true
p a.empty?.! #=> true (これはあまり見ないかも)