スマートフォン用の表示で見るなんでや。この広告は、90日以上更新していないブログに表示しています。"uvw2"なんでや。なんでself.を書いていないsetではアクセサが呼ばれないんや。方々ぐぐっても納得いく説明が見つからない。どの説明でも、このsetの書き方では「メソッド呼び出しではなくローカル変数への代入になるんだよ」と書いてあるだけで、なんでそういう解釈になるのかがよくわからない。一方でprintの方はself.がなくてもアクセサメソッド呼び出しになっている訳じゃないですか。rubyはそういうものということですかね。対象のオブジェクト(レシーバreceiver)を省略できるようになっている。→でもsetで省略できてないじゃないですか。copy-n-paste.→「先にローカル変数と解釈される方が、知らんうちに意図しないメソッドを呼んだことになるよりよくない?」みたいな。インスタンス変数を変えてしまうsetterに限ってはそうかもしれない。'abc'と何の気なしに書いたら実はmixinしたやつにbufってプロパティがあってそっちが変更されてしまっていた、とかなったりすると目も当てられない。2で#x=()を呼び出したことになるんなら、ローカル変数xってどうやっても使えなくならね?」みたいな。メソッド名に=が付くもの限定ルールかな。