Ruby では、他の多くの OO プログラミング言語と同様に、演算子はオーバーロード可能です。ただし、オーバーロードできるのは特定の文字演算子のみです。
このリストは不完全かもしれませんが、オーバーロードできない演算子の一部を次に示します。
!, not, &&, and, ||, or
Ruby では、他の多くの OO プログラミング言語と同様に、演算子はオーバーロード可能です。ただし、オーバーロードできるのは特定の文字演算子のみです。
このリストは不完全かもしれませんが、オーバーロードできない演算子の一部を次に示します。
!, not, &&, and, ||, or
うん。演算子はオーバーロードできません。メソッドのみ。
一部の演算子は実際にはそうではありません。彼らは方法のための砂糖です。だから5 + 5
本当に5.+(5)
、そしてfoo[bar] = baz
本当にfoo.[]=(bar, baz)
です。
メソッドはオーバーロード可能で、言語構文の一部です。
Ruby 1.9では、!
演算子は実際にはメソッドでもあり、オーバーライドできます。これは&&
、と||
とその優先順位の低い対応物and
とを残すだけor
です。
オーバーライドできない他の「結合演算子」もいくつかあります。たとえばa != b
、実際にはであり、実際には!(a == b)
です。a += b
a = a+b
<<
たとえば、次のことを忘れないでください。
string = "test"
string << "ing"
次の呼び出しと同じです。
string.<<("ing")