私が書いていたプログラムでいくつかの結果に出くわし、それが私を混乱させました。私の理解では、parensは通常は必要ありません(つまりobj.method1.method2
、と同じくらい良い(obj.method1).method2
です)。さらに、すべての演算子は実際にはメソッド呼び出しであるため、同じように動作することを期待していました。
だから、私の驚きを想像してみてください。しかし、最終的には期待された出力が得"S"+"R".downcase
られました。Sr
"S".+"R".downcase
"S".send(:+, "R").downcase
sr
これは、オペレーターのショートカットの扱いが異なるためですか、それとも私が行方不明になっている他のメカニックがここで働いているためですか?
編集:質問は、答えをもたらした操作の順序に関するものではありません。それは明らかです。問題は、なぜ式がこの順序で解決されたのかということでした。