Domanda

In Ruby, come in molti altri linguaggi di programmazione OO, gli operatori sono sovraccaricabili.Tuttavia, solo alcuni operatori di caratteri possono essere sovraccaricati.

Questo elenco potrebbe essere incompleto, ma ecco alcuni degli operatori che non possono essere sovraccaricati:

!, not, &&, and, ||, or
È stato utile?

Soluzione

I metodi sono sovraccaricabili, fanno parte della sintassi del linguaggio.

Altri suggerimenti

Sì.Gli operatori non sono sovraccaricabili.Solo metodi.

Alcuni operatori non lo sono davvero.Sono lo zucchero per i metodi.COSÌ 5 + 5 è davvero 5.+(5), E foo[bar] = baz è davvero foo.[]=(bar, baz).

In Ruby 1.9, il ! l'operatore è in realtà anche un metodo e può essere sovrascritto.Questo lascia solo && E || e le loro controparti a bassa precedenza and E or.

Esistono anche altri "operatori combinati" che non possono essere sovrascritti, ad es. a != b è effettivamente !(a == b) E a += b è effettivamente a = a+b.

E non dimentichiamolo << Per esempio:

string = "test"
string << "ing"

è come chiamare:

string.<<("ing")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top