[#2023] Class Method の index — (Dezawa Shin-ichiro) <dezawa@...>

出沢です

13 messages 1997/02/02

[#2158] [Req] pack/unpack — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

14 messages 1997/02/18
[#2166] Re: [Req] pack/unpack — matz@... (Yukihiro Matsumoto) 1997/02/18

まつもと ゆきひろです.

[#2277] ruby 1.0-970228 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

16 messages 1997/02/28

[ruby-list:2124] Re: bug? array in *array

From: matz@... (Yukihiro Matsumoto)
Date: 1997-02-13 06:39:43 UTC
List: ruby-list #2124
まつもと ゆきひろです.

In message "[ruby-list:2123] Re: bug? array in *array"
    on 97/02/13, sinara@blade.nagaokaut.ac.jp <sinara@blade.nagaokaut.ac.jp> writes:

|a = {"1"=>"2", "3"=>"4"}
|
|のとき、
|
|a.each { |x,y| print [x,y].join(","), "\n" }
|a.each { |*x|  print x.join(","), "\n" }
|a.each { |x|   print x.join(","), "\n" }
|
|は、同じ動作をしますね。3番めがちゃんと動くのが不思議。

イテレータ変数は代入の左辺値と同じ形式と動作です.
つまり,それぞれ

   x,y = [key, value]
   *y =  [key, value]
   x =   [key, value]

に対応します.

|それから、yield は *x というパラメータは取らないですね。

returnもそうですね.どうしたものかなあ.
# こちらは引数リストに合わせた方が良いような気がして来た.

|において、yield *x あるいは yield(*x) とするとそれぞれ
|違うエラーがでます。

「yield *x」では「(yield)*(x)」だと思っているんですね.

                                まつもと ゆきひろ /:|)

In This Thread