Und vergessen wir nicht <<
zum Beispiel:
entspricht dem Aufruf:
%Vor%In Ruby sind Operatoren wie in vielen anderen OO-Programmiersprachen überladbar. Es können jedoch nur bestimmte Zeichenoperatoren überladen werden.
Diese Liste ist möglicherweise unvollständig, aber hier sind einige der Operatoren, die nicht überladen werden können:
%Vor%Ja. Betreiber sind nicht überlastbar. Nur Methoden.
Einige Betreiber sind nicht wirklich. Sie sind Zucker für Methoden. Also ist 5 + 5
wirklich 5.+(5)
und foo[bar] = baz
ist wirklich foo.[]=(bar, baz)
.
In Ruby 1.9 ist der Operator !
auch eine Methode und kann überschrieben werden. Dies lässt nur &&
und ||
und ihre Pendants mit der niedrigsten Priorität and
und or
.
Es gibt auch einige andere "kombinierte Operatoren", die nicht überschrieben werden können, z. a != b
ist tatsächlich !(a == b)
und a += b
ist tatsächlich a = a+b
.
Tags und Links ruby methods operator-overloading operators