In Ruby sind Operatoren wie in vielen anderen OO-Programmiersprachen überladbar. Es können jedoch nur bestimmte Zeichenoperatoren überladen werden.Warum erlaubt Ruby nur das Überladen bestimmter Operatoren
Diese Liste kann unvollständig sein, aber hier sind einige der Betreiber, die nicht überlastet werden können:
!, not, &&, and, ||, or
Wie Jorg in seiner Antwort erwähnt, kann '!' Überschrieben werden. –