! は再定義可能 !?

PEGのパーサコンビネータで ! を定義して使ってたのだけど、ふとマニュアル読んでみたら ! は再定義できないと書いてある。というわけでChangeLogを見る

Mon Dec 10 01:35:06 2007  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* parse.y (expr): redefinable not (!) operator.

	* parse.y (arg): ditto.

	* object.c (rb_obj_not): new method "!".

	* object.c (rb_obj_not_equal): new method "!=".

	* object.c (rb_obj_not_match): new method "!~".

これか