From: Yukihiro Matsumoto Date: 2009-08-29T04:09:28+09:00 Subject: [ruby-dev:39192] Re: *aへの代入について まつもと ゆきひろです In message "Re: [ruby-dev:39181] Re: *aへの代入について" on Fri, 28 Aug 2009 17:55:55 +0900, Tanaka Akira writes: |[ruby-dev:38795] の最後のあたりの | || 問題は、左辺・右辺のどちらかだけが単純でない場合である。たとえば x, y = u || とか x = *u とか x, = u とかである。この場合、左右の対応が自明でないのでな || んらかの細工が必要になる。 || || 1.9 におけるここでの細工は簡単なものである。左辺・右辺それぞれについて単純 || でない場合は括弧で括ったものとして解釈するのである。つまり、(x, y) = u とか || x = [*u] とか (x,) = u とかである。これにより両辺が単純になるので全ての代入 || は単純代入に帰着できることになる。 | |が理由です。 | |とくに強い理由があった感じはしませんね。簡単であることくらい |でしょうか。 なるほど。たしかに *a = u を (*a) = u と考えた方がルールが少 なくてすみますね。*a = u だけを取り出すと a = [u] の方がすっ きりするような気がするのですが。 どうもありがとうございました。これはこのままにしておこうと思 います。