新井です。

>>> From: NISHIKAWA <nyasu / osk.3web.ne.jp>
>>> Date: 14 Feb 2000 01:13:36 +0900
>>> Subject: [ruby-list:20675] 括弧省略の問題?

> こんばんは。にゃす@3webです。
> a=Test.new
> a.test= (1+2)*100
> p a.test

a.test= +(1+2)*100

とすれば一応逃げられます。今の1.5系ならそのままでOKですけど。

現在、1.5系ではメソッド名と括弧の間に空白があると()は式と見
なされています。これにより、1.4系の以下の振舞

p (1..5).to_a
=> 1..5

は、1.5.2では

p (1..5).to_a
=> [1, 2, 3, 4, 5]

となります。一方、

p (1, 2..5)

などと括弧とメソッド名に空白を空けていると(今の1.5.2では)parse error
になります。

# 1.5のこの挙動は今のところまだ実験段階でしょう。

にゃすさんの例では代入形式メソッドに与えられた()はメソッド引
数ではなく式とみなした方が良いのかも知れませんね。

--
新井康司 (Koji Arai)