Ruby:r14162 (trunk): * parse.y (expr): redefinable not (!) operator.
これははっきり言ってギャッと言いたいけど、RSpec使いとしてはまつもとさんの意見も分からなくはない。何にしても、もうリリースされちゃったしね。
そういうわけで、再定義可能な演算子が増えました。これでハムレットも悩まなくて済みますね。
class Object
def !
nil
end
end
p !false #=> nil
p !!false #=> nil
p (!false).equal?(!!false) #=> true