I think that's an error in the book. I'm pretty sure that `!' is in the same category as `&&' and `||', which would make sense. Chris ----- Original Message ----- From: "Phil Tomson" <ptkwt / shell1.aracnet.com> Subject: overloading '!' operator On page 221 of the Pickaxe in table 18.4 if I'm interpreting it correctly, you should be able to overload the '!' operator (since there is a checkmark to the left) but the interpreter complains when I try: class Foo def !() #... end end I notice that the '~' operator is overloadable and it works as I would expect, so that I can say: a = MyObj.new ~a Phil