$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$F(B

e$B2<5-e(BWebe$B%Z!<%8$J$I$K5-=R$5$l$F$$$k%V%m%C%/%Q%i%a!<%?!"5Z$SB?CM$N;EMM$G$9$,!"e(B
e$B$9$G$Ke(B(e$B<BAu$O$^$@$K$7$F$be(B)e$B;EMM$O3NDj$7$F$$$k$N$G$7$g$&$+!)e(B

e$B;29M!'e(B
http://pub.cozmixng.org/~the-rwiki/?cmd=view;name=Ruby2.0spec;em=features
http://www.rubyist.net/~matz/20060323.html#p01

e$B$A$g$&$I!"e(Bruby-1.9e$B$r;H$C$F$$$F<!$N$h$&$J46A[$r;}$A$I$&$J$C$?$N$@$m$&$H;W$C$?e(B
e$B<!Bh$G$9!#e(B

irb(main):001:0> proc{|a| a}.call([0,1,2])
=> [0, 1, 2]
e$B$3$l$O!"4|BTDL$j$NF0:n$G$9!#e(B

irb(main):002:0> proc{|a,| a}.call([0,1,2])
=> 0
e$B$3$l$O!"e(Ba, = [0,1,2] e$B$H;W$($P0l1~G<F@$G$-$k!#e(B

irb(main):003:0> proc{|a,&block| a}.call([0,1,2])
=> 0
‘,’ e$B$r=q$+$6$k$rF@$J$$$,!"e(Bae$B$NCM$Oe(B[0,1,2]e$B$r4|BT$7$?$$!#e(B
e$B$7$g$&$,$J$$$+$ie(B ->(){} e$B$N5-K!$r;H$&$,!"e(B “a,&block,”
e$B$+e(B “a,&block”
e$B$H=q$$$?>l9g$Ke(B a,
e$B$NF0:n$HF1$8$h$&$K=hM}$9$k$H$O$$$+$J$$$G$7$g$&$+!)e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28681] e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Sat, 3 Jun 2006 00:16:38 +0900, Takaaki T.
[email protected] writes:

|e$B2<5-e(BWebe$B%Z!<%8$J$I$K5-=R$5$l$F$$$k%V%m%C%/%Q%i%a!<%?!"5Z$SB?CM$N;EMM$G$9$,!"e(B
|e$B$9$G$Ke(B(e$B<BAu$O$^$@$K$7$F$be(B)e$B;EMM$O3NDj$7$F$$$k$N$G$7$g$&$+!)e(B

e$B$^$@$A$g$C$HLB$$$,$"$j$^$9!#e(B

|irb(main):003:0> proc{|a,&block| a}.call([0,1,2])
|=> 0
|‘,’ e$B$r=q$+$6$k$rF@$J$$$,!"e(Bae$B$NCM$Oe(B[0,1,2]e$B$r4|BT$7$?$$!#e(B
|e$B$7$g$&$,$J$$$+$ie(B ->(){} e$B$N5-K!$r;H$&$,!"e(B “a,&block,” e$B$+e(B “a,&block”
|e$B$H=q$$$?>l9g$Ke(B a, e$B$NF0:n$HF1$8$h$&$K=hM}$9$k$H$O$$$+$J$$$G$7$g$&$+!)e(B

e$B<j85$Ne(B(e$B$^$@%3%_%C%H$7$F$$$J$$e(B)1.9e$B$G$Oe(B[0,1,2]e$B$K$J$j$^$9!#e(B
Matzにっき(2006-05-23) e$B$K=q$$$?e(Bsplat
e$B$N8e$m$NI,?\0z?t$b<BAu$7$^$7$?!#e(B

e$BLB$$$,$"$k$N$Oe(B

Proc.new{|x| x}.call(1,2) # => 1

e$B$K$7$h$&$H;W$C$F$k$N$@$1$l$I$b!"$=$&$9$k$He(B

[[1,2],[2,3]].each{|x| p x}

e$B$de(B

for x in [[1,2],[2,3]]; p x; end

e$B$,$I$&?6$kIq$&$Y$-$+$H$$$&E@!#e(B

e$B%V%m%C%/%Q%i%a!<%?Fb$Ne(B|a|e$B$O:#$^$G$Ne(B|a,|e$B$N0UL#!#e(Bfore$B$O=>Mhe(B
e$B$N$^$^e(B

lambdae$B$de(B->e$B$G:n$C$?e(BProce$B$G$Oe(B|a|e$B$O:#$^$G$Ne(B|a,|e$B$N0UL#!#$=$le(B
e$B0J30$O=>Mh$N$^$^e(B

fore$B$G$be(Bxe$B$Oe(Bx,e$B$N0UL#!#A4It$NCM$,M_$7$1$l$Pe(B*xe$B$H$;$h!#e(B

e$B$/$i$$$r9M$($F$$$k$s$G$9$,!“$I$C$A$+$C$F$$$&$H:G=i$N$b$N$+$J!#e(B
e$B0lHV%k!<%k$,C1=c$G0l4S@-$,$”$k$N$O:G8e$N$b$N$G$9$,!";H$$$K$/e(B
e$B$=$&!#e(B

Yukihiro M. wrote:

e$BLB$$$,$"$k$N$Oe(B
Proc.new{|x| x}.call(1,2) # => 1
e$B$K$7$h$&$H;W$C$F$k$N$@$1$l$I$b!"$=$&$9$k$He(B

e$B$3$l$K$D$$$F$b$&>/$73NG’$5$;$F$/$@$5$$!#e(B
Proce$B$r%V%m%C%/$H$O6hJL$7$FFCJL07$$$7$J$$$H$7$F!“e(Bcall([1,2])
e$B$H$7$?>l9g$be(B 1
e$B$G$7$g$&$+!)e(B(e$B$”$k$$$O!"$^$@L$Dj$G$7$g$&$+!)e(B)

[[1,2],[2,3]].each{|x| p x}

e$B$b$7!“e(Bcall([1,2])e$B$Ge(B1e$B$H$J$k$J$i!”$3$l$be(B 1, 2
e$B$HI=<($5$l$k$N$Oe(B
e$BJ,$+$k$N$G$9$,!"e(B e$B5U$K!"e(Bproc{|a,&block| a}.call([0,1,2])
e$B$,e(B
[0,1,2] e$B$K$J$kM}6~$,J,$+$i$J$$$G$9!#e(B
e$B$I$N$h$&$K9M$($l$PNI$$$G$7$g$&$+!)e(B

e$B$"$k$$$O!“e(Bcall([1,2])e$B$Ge(B[1,2]e$B$H$J$k$J$i!”$3$l$be(B[1,2],[2,3]e$B$,I=<(e(B
e$B$5$l$FM_$7$$5$$,$7$^$9$,!"e(B|x,|e$B$NF0:n$HF1$8$H9M$($k$He(B 1, 2
e$B$NI=<($K$J$k$H$$$&$3$H$G$9$h$M!)e(B

e$B@0M}$7$-$l$F$$$^$;$s$,!"e(B

http://pub.cozmixng.org/~the-rwiki/?cmd=view;name=Ruby2.0BlockParameterAndMultipleValueAssignment

e$B$K8=>u$NM}2r$r=q$-2<$7$F$_$^$7$?!#e(B
fore$B$OJLLdBj$H$7$F07$C$FNI$5$=$&$J5$$O$9$k$N$G$R$H$^$:H4$+$7$F$$$^$9!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28684] Re:
e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Sun, 4 Jun 2006 03:17:58 +0900, Takaaki T.
[email protected] writes:

|> e$BLB$$$,$“$k$N$Oe(B
|> Proc.new{|x| x}.call(1,2) # => 1
|> e$B$K$7$h$&$H;W$C$F$k$N$@$1$l$I$b!”$=$&$9$k$He(B
|
|e$B$3$l$K$D$$$F$b$&>/$73NG’$5$;$F$/$@$5$$!#e(B
|Proce$B$r%V%m%C%/$H$O6hJL$7$FFCJL07$$$7$J$$$H$7$F!“e(Bcall([1,2])
|e$B$H$7$?>l9g$be(B 1 e$B$G$7$g$&$+!)e(B(e$B$”$k$$$O!"$^$@L$Dj$G$7$g$&$+!)e(B)

call([1,2])e$B$Oe(Bx=[1,2]e$B$K$J$j$^$9!#e(B

|> [[1,2],[2,3]].each{|x| p x}
|
|e$B$b$7!“e(Bcall([1,2])e$B$Ge(B1e$B$H$J$k$J$i!”$3$l$be(B 1, 2 e$B$HI=<($5$l$k$N$Oe(B
|e$BJ,$+$k$N$G$9$,!"e(B e$B5U$K!"e(Bproc{|a,&block| a}.call([0,1,2]) e$B$,e(B
|[0,1,2] e$B$K$J$kM}6~$,J,$+$i$J$$$G$9!#e(B
|e$B$I$N$h$&$K9M$($l$PNI$$$G$7$g$&$+!)e(B

yielde$B$,e(Bcall(*[1,2])e$B$N$h$&$KF0:n$9$k$H2r<a$7$F$/$@$5$$!#e(B
calle$B$He(Byielde$B$G!"e(B

  • e$B0z?t$,$R$H$D$7$+$J$/e(B
  • e$B$=$l$,G[Ns$G$"$C$?>l9ge(B
    e$B$NF0:n$,0c$&$N$G!"e(Byielde$B$H$$$&%a%=%C%I$r?7@_$7$F$$$^$9!#e(B

|e$B$"$k$$$O!“e(Bcall([1,2])e$B$Ge(B[1,2]e$B$H$J$k$J$i!”$3$l$be(B[1,2],[2,3]e$B$,I=<(e(B
|e$B$5$l$FM_$7$$5$$,$7$^$9$,!"e(B|x,|e$B$NF0:n$HF1$8$H9M$($k$He(B 1, 2
|e$B$NI=<($K$J$k$H$$$&$3$H$G$9$h$M!)e(B

e$B$=$&$$$&$3$H$G$9$M!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28685] Re:
e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Sun, 4 Jun 2006 04:17:18 +0900, Takaaki T.
[email protected] writes:
|
|e$B@0M}$7$-$l$F$$$^$;$s$,!"e(B
|
|http://pub.cozmixng.org/~the-rwiki/?cmd=view;name=Ruby2.0BlockParameterAndMultipleValueAssignment
|
|e$B$K8=>u$NM}2r$r=q$-2<$7$F$_$^$7$?!#e(B
|fore$B$OJLLdBj$H$7$F07$C$FNI$5$=$&$J5$$O$9$k$N$G$R$H$^$:H4$+$7$F$$$^$9!#e(B

e$B<j85$N$b$N$NF0:ne(B(e$B8=>u$G$N;d$N0U?^e(B)e$B$G99?7$7$F$*$-$^$7$?!#e(B

Yukihiro M. wrote:

  • e$B$=$l$,G[Ns$G$"$C$?>l9ge(B
    e$B$NF0:n$,0c$&$N$G!"e(Byielde$B$H$$$&%a%=%C%I$r?7@_$7$F$$$^$9!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!#$"$kDxEY%/%j%"$K$J$j$^$7$?!#e(B
e$B$9$C$+$je(Byielde$B$NB8:_$rK:$l$F$^$7$?!#e(B

e$B$3$s$K$A$O!“$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B
e$B$I$3$K$V$i2<$2$k$Y$-$+G:$s$@$N$G$9$,!”$3$NJU$K!#e(B

In message “[ruby-dev:28682] Re: e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Jun.03,2006 00:34:43, [email protected] wrote:
| * e$B%V%m%C%/%Q%i%a!<%?Fb$Ne(B|a|e$B$O:#$^$G$Ne(B|a,|e$B$N0UL#!#e(Bfore$B$O=>Mhe(B
| e$B$N$^$^e(B
|
| * lambdae$B$de(B->e$B$G:n$C$?e(BProce$B$G$Oe(B|a|e$B$O:#$^$G$Ne(B|a,|e$B$N0UL#!#$=$le(B
| e$B0J30$O=>Mh$N$^$^e(B
|
| * fore$B$G$be(Bxe$B$Oe(Bx,e$B$N0UL#!#A4It$NCM$,M_$7$1$l$Pe(B*xe$B$H$;$h!#e(B
|
| e$B$/$i$$$r9M$($F$$$k$s$G$9$,!“$I$C$A$+$C$F$$$&$H:G=i$N$b$N$+$J!#e(B
| e$B0lHV%k!<%k$,C1=c$G0l4S@-$,$”$k$N$O:G8e$N$b$N$G$9$,!";H$$$K$/e(B
| e$B$=$&!#e(B

e$B$H$+$$$&$N$,F~$C$?$s$@$m$&$H;W$&$N$G$9$,!"e(B

[1, [2, 3], 4].each {|a| p a}
#=> 1, 2, 4

[1, [2, 3], 4].each {|*a| p a}
#=> [1], [2, 3], [4]

e$B$H$J$C$F!"K\Mh$N85$NMWAG$=$N$b$N$re(Beache$B$GgS$a$k$3$H$,$G$-$J$/e(B
e$B$J$C$F$$$k$o$1$G$9!#e(B

e$B:rF|$N%Q%M%k$G$O!“B?CM$NLdBj$Oe(BRubye$B%f!<%6$Ne(B90%e$B$@$+e(B99%e$B$@$+$K$Oe(B
e$B1F6A$7$J$$$H$$$&$3$H$@$C$?$+$H;W$$$^$9$,!”$3$NJQ99$Oe(B100%e$B$/$ie(B
e$B$$$N?M$K$O1F6A$9$k$H;W$$$^$9!#e(B
e$B$3$l$O!“$3$N;EMM$G?J$`$N$G$7$g$&$+!#e(B
e$B$=$l$H$b!”$^$@MI$l$F$$$^$9$+e(B?

e$B$=$l$G$O!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28710] Re:
e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Sun, 11 Jun 2006 11:04:10 +0900, “U.Nakamura”
[email protected] writes:

| [1, [2, 3], 4].each {|a| p a}
| #=> 1, 2, 4
|
| [1, [2, 3], 4].each {|*a| p a}
| #=> [1], [2, 3], [4]
|
|e$B$H$J$C$F!"K\Mh$N85$NMWAG$=$N$b$N$re(Beache$B$GgS$a$k$3$H$,$G$-$J$/e(B
|e$B$J$C$F$$$k$o$1$G$9!#e(B

e$B$“$”!“$=$&$+!#e(B1e$B0z?t$N>l9g$KLdBj$,5/$-$=$&$J5$$,$7$F$$$^$7$?e(B
e$B$,!”$3$l$G$7$?$+!#$7$g$&$,$J$$!#e(Byielde$B$GEO$5$l$?$H$-$K$O$=$Ne(B
e$B$^$^EO$9$3$H$K$7$^$7$g$&!#@EE*$K7h$a$i$l$J$$$N$,4r$7$/$J$$$Ge(B
e$B$9$,!#e(B

|e$B:rF|$N%Q%M%k$G$O!“B?CM$NLdBj$Oe(BRubye$B%f!<%6$Ne(B90%e$B$@$+e(B99%e$B$@$+$K$Oe(B
|e$B1F6A$7$J$$$H$$$&$3$H$@$C$?$+$H;W$$$^$9$,!”$3$NJQ99$Oe(B100%e$B$/$ie(B
|e$B$$$N?M$K$O1F6A$9$k$H;W$$$^$9!#e(B

e$B$(!<$H!"8@$$$?$+$C$?$N$O!Ve(B99%e$B$O@bL@$5$l$F$bM}2r$7$J$$e(B(e$B$7$?$/e(B
e$B$J$$e(B)e$B$7!"J9$-$?$/$J$$$H;W$&!W$G$9!#!V1F6A$7$J$$!W$o$1$8$c$Je(B
e$B$$$G$9!#e(B

e$B$3$s$K$A$O!"$J$+$`$ie(B(e$B$&e(B)e$B$G$9!#e(B

In message “[ruby-dev:28712] Re: e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Jun.11,2006 21:37:57, [email protected] wrote:
| e$B$“$”!“$=$&$+!#e(B1e$B0z?t$N>l9g$KLdBj$,5/$-$=$&$J5$$,$7$F$$$^$7$?e(B
| e$B$,!”$3$l$G$7$?$+!#$7$g$&$,$J$$!#e(Byielde$B$GEO$5$l$?$H$-$K$O$=$Ne(B
| e$B$^$^EO$9$3$H$K$7$^$7$g$&!#@EE*$K7h$a$i$l$J$$$N$,4r$7$/$J$$$Ge(B
| e$B$9$,!#e(B

e$B$H$j$"$($:!"0B?4$7$^$7$?!#e(B

| |e$B:rF|$N%Q%M%k$G$O!“B?CM$NLdBj$Oe(BRubye$B%f!<%6$Ne(B90%e$B$@$+e(B99%e$B$@$+$K$Oe(B
| |e$B1F6A$7$J$$$H$$$&$3$H$@$C$?$+$H;W$$$^$9$,!”$3$NJQ99$Oe(B100%e$B$/$ie(B
| |e$B$$$N?M$K$O1F6A$9$k$H;W$$$^$9!#e(B
|
| e$B$(!<$H!"8@$$$?$+$C$?$N$O!Ve(B99%e$B$O@bL@$5$l$F$bM}2r$7$J$$e(B(e$B$7$?$/e(B
| e$B$J$$e(B)e$B$7!"J9$-$?$/$J$$$H;W$&!W$G$9!#!V1F6A$7$J$$!W$o$1$8$c$Je(B
| e$B$$$G$9!#e(B

e$BL$NA0$GJ9$$$F$$$F$bJ9$-4V0c$($k$H$$$&$N$O!"$A$g$C$HLdBj$,$"e(B
e$B$j$^$9$M!#=8Cf$7$F$J$$$3$H$,%P%l%P%le(B… orz

e$B$=$l$G$O!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:28713] Re:
e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
on Sun, 11 Jun 2006 23:03:40 +0900, “U.Nakamura”
[email protected] writes:

|In message “[ruby-dev:28712] Re: e$B%V%m%C%/%Q%i%a!<%?$HB?CM$K$D$$$Fe(B”
| on Jun.11,2006 21:37:57, [email protected] wrote:
|| e$B$“$”!“$=$&$+!#e(B1e$B0z?t$N>l9g$KLdBj$,5/$-$=$&$J5$$,$7$F$$$^$7$?e(B
|| e$B$,!”$3$l$G$7$?$+!#$7$g$&$,$J$$!#e(Byielde$B$GEO$5$l$?$H$-$K$O$=$Ne(B
|| e$B$^$^EO$9$3$H$K$7$^$7$g$&!#@EE*$K7h$a$i$l$J$$$N$,4r$7$/$J$$$Ge(B
|| e$B$9$,!#e(B
|
|e$B$H$j$"$($:!"0B?4$7$^$7$?!#e(B

e$B:{ED$/$s$O5c$$$F$$$k$3$H$G$7$g$&!#e(B

|| e$B$(!<$H!"8@$$$?$+$C$?$N$O!Ve(B99%e$B$O@bL@$5$l$F$bM}2r$7$J$$e(B(e$B$7$?$/e(B
|| e$B$J$$e(B)e$B$7!“J9$-$?$/$J$$$H;W$&!W$G$9!#!V1F6A$7$J$$!W$o$1$8$c$Je(B
|| e$B$$$G$9!#e(B
|
|e$BL$NA0$GJ9$$$F$$$F$bJ9$-4V0c$($k$H$$$&$N$O!”$A$g$C$HLdBj$,$"e(B
|e$B$j$^$9$M!#=8Cf$7$F$J$$$3$H$,%P%l%P%le(B… orz

e$B$$$d$“!”%o!<%k%I%+%C%W$b;O$^$j$^$7$?$7$M!#;d$O%5%C%+!<$K$O4Xe(B
e$B?4$O$J$$$N$G$9$,!"%9%i%$%I=q$$$F$FA0$NHUe(B(e$BD+e(B)e$B$Oe(B2e$B;~4V$7$+?2$le(B
e$B$^$;$s$G$7$?!#%Q%M%k$N:GCf$K$[$H$s$I?2F~$C$F$?$N$O8xA3$NHkL)e(B
e$B$G$9!#e(B