もりきゅうです。

NISHIKAWA さんは書きました:
>下のようなスクリプトを実行したところ、
>300と表示されて欲しいのですが、3になります。
>ちょっと個人的にいやな感じ(失礼)なのですが、これに対して
>「括弧を代入右辺全体に付ける」以外のごまかし方がありますでしょうか?
>
>class Test
>  attr :test,1
>end
>
>a=Test.new
>a.test= (1+2)*100
>p a.test
>
>
>原因は、
>( a.test=(1+2) )*100
>と解釈されてしまってることのようです。

  a.test= (1+2)*100
を
  a.test = (1+2)*100
とする。

でいかがでしょう。

+ や - のような記号のメソッドに対する
空白のとりかたとしては
  a+b または a + b
が推奨されていたように思います。(FAQ にあったかな?)

ちなみに,今回は
  a.test=(1+2)*100
も
  p a.text => 3
になってアウトですね。^^;

----
Kazuhiro Yoshida  moriq.kazuhiro / nifty.ne.jp