From: Tanaka Akira Date: 2002-06-24T16:25:47+09:00 Subject: [ruby-dev:17564] Re: blocks and local variables In article <1024899653.239780.6639.nullmailer@picachu.netlab.jp>, matz@ruby-lang.org (Yukihiro Matsumoto) writes: > $B$?$@!"(Bx = foo(x) $B$r5v$9$H:#EY$O!V(Bx $B$N%9%3!<%W$O$J$K!)!W$H$$(B > $B$&5?Ld$r8F$V$3$H$K$J$k$H;W$$$^$9!#$H$$$&$3$H$G!"$$$C$=(B > > {<> ..> > > $B$NCf$G$O(B($B@k8@$7$J$$8B$j(B)$B30$N%m!<%+%kJQ?t$O8+$($J$$$H$$$&3d$j(B > $B@Z$j$,J,$+$j$d$9$5$NAmOB$,:GBg$G$O$J$$$+$H9M$($k$h$&$K$J$C$F(B > $B$^$9!#(B $B$U$`!#8=:_$b(B x = foo(x) $B$O2DG=$G!"%9%3!<%W$H$7$F$ON>J}$N(B x $B$OF1$8$G!"(B $B1&JU$G;2>H$7$?;~E@$G$O(B nil $B$G$"$j!"$=$N$"$H$K:8JU$N(B x $B$KBeF~$9$k$3$H$K(B $B$J$k$o$1$G$9!#(B $B$3$l$O!"%W%m%0%i%`$r:8$+$i1&$K(B scan $B$7$FJQ?t@k8@(B($BBeF~(B)$B$r8+$D$1$F$$$/$+(B $B$i$G$9$,!"$3$N$?$a$K!"(B x = foo(x) $B$H$7$F$J$<$+(B nil $B$,0z?t$H$7$FEO$5$l$k$H$$$&$3$H0J30$K!"(B if false x = 1 else p x end $B$H$G$-$F$7$^$&$H$+!"(B p x if (x = ...).pred? $B$H$G$-$J$$$H$+!"$5$^$6$^$JLdBj$,8=$l$F$$$^$9!#(B $B$7$?$,$C$F!"$3$NLdBj$O(B {<> ...} $B$N30$,8+$($k$+$I$&$+$H$$$&OC$H$OFHN)$G!"(B $B$3$NLdBj$rM}M3$K$7$F(B {<> ...} $B$N30$r8+$($J$$$h$&$K$7$h$&$H$$$&$N$OE,@Z(B $B$JA*Br$@$H$O;W$($^$;$s!#(B $B8D?ME*$K$O$3$NLdBj$r2r7h$9$k$K$O:8$+$i1&$K(B scan $B$9$k$N$G$O$J$/!"@EE*$K(B $B7h$^$k@)8f$NN.$l$N=g$G(B scan $B$9$k$H$$$$$N$G$O$J$$$+$H;W$C$F$$$?$j$7$^$9!#(B (Java $B$N(B definitive assignment $B$_$?$$$K!#(B) $B$^$?!"%Q%i%a!<%?$N$H$3$m$G@k8@$5$;$F30$r8+$k$H$$$&$N$O(B Python 2.0 $B$^$G(B $B$,$^$5$K$=$s$J$+$s$8$G$7$?!#$,!"$3$l$O;H$$$K$/$/$F(B Python 2.1 $B$G$D$$$K(B $BJQ$o$C$?$o$1$G$9!#(B http://www.python.org/peps/pep-0227.html http://www.amk.ca/python/2.1/index.html#SECTION000300000000000000000 $B$^$!!"@N$N(B Python $B$N>l9g$O30$r8+$k$N$K@lMQ$N@k8@$G$O$J$/%*%W%7%g%J%k0z(B $B?t$r;H$C$F$^$7$?$+$i$=$N0UL#$G$O:#2s$N0F$h$j$b$^$:$+$C$?$o$1$G$9$,!"5-(B $B=R$9$k$3$H$O$h$/$K$F$$$^$9!#=>$C$F!"$*$=$i$/!"F1MM$K;H$$$K$/$$$b$N$H;W(B $B$o$l$^$9!#(B $B;d$N9%$_$O!"(B($BB?J,$K4X?t7?8@8l$NGX7J$+$i$G$9$,(B)$B30$N%m!<%+%kJQ?t$O(B $B8=:_(B $B$N(B {|| ...} $B$N$h$&$K$=$N$^$^8+$(!"$+$D!"(Byield/call $B$5$l$?;~$NCM$N3d$j(B $BEv$FJ}$O%a%=%C%I8F$S=P$7$K6a$$$b$N$G$9!#=>$C$F!"$b$7!"(B{<> ...} $B$G30$r(B $B8+$k$N$KM>7W$J5-=R$,I,MW$K$J$k$H!"(B{|| ...} $B$H(B {<> ...} $B$N$I$A$i$bITK~(B $B$,;D$k$b$N$K$J$j$^$9!#$D$^$j!"30$N8+$(J}$HCM$N3d$jEv$FJ}$H$$$&0[$J$k@-(B $B ...} $B$r@ZBX$($k$N$bLLE]$G$9!#(B $B;d$H$7$F$O!"%G%U%)%k%H$G30$,8+$($J$$$h$&$K$9$k$N$O$d$a$FM_$7$$$J$!!"$H(B $B;W$C$F$$$^$9!#(B -- [$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira] $B!V$U$($m(B! $B$o$+$a$A$c$s:n@o$G$9$(C"=$B!W(B(Little Worker, $B7KM7@84](B)