[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20280] Re: splat restary

From: Koji Arai <JCA02266@...>
Date: 2003-05-22 17:28:00 UTC
List: ruby-dev #20280
新井です。

In message "[ruby-dev:20279] Re: splat restary"
  on 23 May 2003 01:56:54 +0900,
  matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> まつもと ゆきひろです

> すいません、新井さんの元々の文章を読みちがえてました。私のつ
> もりは
> 
> |つまりは、多重代入の右辺、メソッド呼び出しの引数ともに 
> |to_ary と to_a(将来なくなる予定の Object#to_a を除く)が配列
> |化の対象になったということですね?
> 
> ということです。ごめんなさい。

いえいえ、ひとまず 1.8 feature に以下を書いておきました。
本当は、svalue, avalue, mrhs とかについて書かないといけない
んですよね。

| === 2003-03-29
| : [parser], [change]
|
|   `*' による配列展開が、多重代入の右辺で行われた場合、to_ary だけでな
|   く、to_a も配列展開のための配列化に利用されるようになりました(ただし、
|   Object#to_a は対象外。Object#to_a は将来削除される予定です)。
|
|   これに伴い、1.7 で定義された Range#to_ary, MatchData#to_ary がなくな
|   りました。
|
|         a,b,c = (1..3)
|         p [a,b,c]
|
|         => ruby 1.6.8 (2002-12-24) [i586-linux]
|            [1..3, nil, nil]
|         => ruby 1.7.3 (2002-12-11) [i586-linux]
|            [1, 2, 3]
|         => ruby 1.8.0 (2003-05-17) [i586-linux]
|            [1..3, nil, nil]
|   は、
|         a,b,c = *(1..3)
|         p [a,b,c]
|
|         => ruby 1.6.8 (2002-12-24) [i586-linux]
|            [1..3, nil, nil]
|         => ruby 1.7.3 (2002-12-11) [i586-linux]
|            [1, 2, 3]
|         => ruby 1.8.0 (2003-05-17) [i586-linux]
|            [1, 2, 3]
|
|   と書きます。

--
新井康司 (Koji Arai)

In This Thread

Prev Next