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