[#39052] Fwd: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0 — Yugui <yugui@...>

Redmine管理用プロジェクトに報告されてしまったので転送します。

12 messages 2009/08/09
[#39264] Re: Fwd: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0 — Yutaka Kanemoto <kinpoco@...> 2009/09/08

金本と申します。

[#39107] [Bug #1952] cannot stop with Ctrl+C — Usaku NAKAMURA <redmine@...>

Bug #1952: cannot stop with Ctrl+C

14 messages 2009/08/18

[#39167] [Bug #2000] Change the license to "GPLv2+ or Ruby's original". — Mamoru Tasaka <redmine@...>

Bug #2000: Change the license to "GPLv2+ or Ruby's original".

11 messages 2009/08/26

[#39193] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...>

In article <200908281827.n7SIRbaX003476@ci.ruby-lang.org>,

16 messages 2009/08/29
[#39194] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/29

なかだです。

[#39195] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...> 2009/08/29

In article <4a988633.9553f10a.4496.483e@mx.google.com>,

[#39196] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/29

なかだです。

[#39197] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Tanaka Akira <akr@...> 2009/08/29

In article <4a989f76.1602be0a.3de4.1131@mx.google.com>,

[#39198] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Yukihiro Matsumoto <matz@...> 2009/08/29

まつもと ゆきひろです

[#39206] Re: [ruby-cvs:31917] Ruby:r24699 (trunk): * lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition. — Nobuyoshi Nakada <nobu@...> 2009/08/31

なかだです。

[ruby-dev:39181] Re: *aへの代入について

From: Tanaka Akira <akr@...>
Date: 2009-08-28 08:55:55 UTC
List: ruby-dev #39181
In article <E1MgwQd-0002Ys-DB@x61.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> 現在出席中のLoneStar RubyConfでJames Edward Gray II(※)から指
> 摘されたのですが、
>
>   *a = [1,2,3]
>
> が、1.8では[[1,2,3]]、1.9では[1,2,3]になります。
>
>   def m(*a)
>     p a
>   end
>   m([1,2,3])   # => [[1,2,3]]
>
> からの類推で行くと、これは1.8の動作の方が一貫性があるように
> 思うのですが、この変更にはなにか理由があったような気もします。
> あいかわらず記憶が弱くて、理由が思い出せないのですが、この変
> 更の理由を覚えている方はいらっしゃいませんか?

[ruby-dev:38795] の最後のあたりの

|     問題は、左辺・右辺のどちらかだけが単純でない場合である。たとえば x, y = u
|     とか x = *u とか x, = u とかである。この場合、左右の対応が自明でないのでな
|     んらかの細工が必要になる。
|
|     1.9 におけるここでの細工は簡単なものである。左辺・右辺それぞれについて単純
|     でない場合は括弧で括ったものとして解釈するのである。つまり、(x, y) = u とか
|     x = [*u] とか (x,) = u とかである。これにより両辺が単純になるので全ての代入
|     は単純代入に帰着できることになる。

が理由です。

とくに強い理由があった感じはしませんね。簡単であることくらい
でしょうか。

|     まず、1.9 では多重代入とブロックパラメータは別物である。以前はそうではなく、

ということもあって、メソッド呼び出しと多重代入のあいだでの違
いは細かいところは気にしない、という感じだった気がします。

ただ、もしメソッド呼び出しとの類推が効くようにあわせるんなら、
メソッド引数じゃなくてブロック引数にしないと互換性が崩れすぎ
ると思いますが。

代入の挙動をブロック引数にあわせたときにどのくらい非互換にな
るかは、やってみないとなんとも。代入で伝達される情報を多値に
することになるので、ささださんに相談するところから始めるんで
すかね。常に配列を作るのが嫌だとすれば。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread