Frage

In Ruby, wie in vielen anderen OO Programmiersprachen, sind die Betreiber überladbaren. Allerdings können nur bestimmte Zeichen Betreiber überlastet werden.

Diese Liste ist unvollständig, aber hier sind einige der Betreiber, die nicht überlastet werden können:

!, not, &&, and, ||, or
War es hilfreich?

Lösung

Methoden sind überladbaren, die nicht Teil der Sprachsyntax sind.

Andere Tipps

Ja. Die Betreiber sind nicht überladbaren. Nur Methoden.

Einige Betreiber sind nicht wirklich. Sie sind Zucker für Methoden. So 5 + 5 ist wirklich 5.+(5) und foo[bar] = baz ist wirklich foo.[]=(bar, baz).

In Ruby 1.9 ist die ! Betreiber tatsächlich auch ein Verfahren und außer Kraft gesetzt werden können. Dies lässt nur && und || und ihre Low-Vorrang Pendants and und or.

Es gibt auch einige andere „kombinierte Operatoren“, die außer Kraft gesetzt werden können, z.B. a != b ist eigentlich !(a == b) und a += b ist eigentlich a = a+b.

Und nicht etwa << zum Beispiel vergessen:

string = "test"
string << "ing"

ist der gleiche wie der Aufruf:

string.<<("ing")
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top