e$B>>Hx$H$$$$$^$9!#e(B
Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:
e$B<B:]$K$O$I$N$h$&$J%f!<%6!<Dj5A%k!<%W$r:n$j$?$$$s$G$7$g$&e(B?
e$BIaDL$N%$%F%l!<%?$G$O$&$^$/$$$+$J$$$s$G$7$g$&$+!#e(B
e$BA02s$N$Oe(Bwhilee$B$r;H$o$:$Ke(Bwhilee$B$rDj5A$9$k$K$Oe(Bretrye$B$,I,MW!"$H$$$&MW;]$NH/8@e(B
e$B$G$9$,!“e(B
e$B<B:]$Ke(Bretrye$B$,$”$C$?$[$&$,$&$l$7$$>lLL$r9M$($F$_$k$H!"$?$H$($Pe(B
def foo
while e$B>r7oe(B
yield #e$B%k!<%WK\BNe(B(Y)
end
#e$B$J$s$i$+$N=hM}e(B(A)
end
e$B$$?$$$J%a%=%C%I$r=q$$$?$H$-$K!"e(Byielde$B$He(Byielde$B$N4V$He(B#e$B$J$s$i$+$N=hM}e(B(A)e$B$N8e$Ge(B
e$B6&DL$Ne(B#e$B8e=hM}e(B(B)e$B$r$7$?$$$H$7$^$9!#e(B(Y)(B)…(Y)(B)(Y)(A)(B)e$B$$?$$$K!#$9$k$He(B
def foo
while e$B>r7oe(B
#e$B8e=hM}e(B if e$BFs2sL$N%k!<%W$+$ie(Btruee$B$K$J$k%U%i%C%0e(B
yield
end
#e$B$J$s$i$+$N=hM}e(B
#e$B8e=hM}e(B
end
e$B$_$?$$$K$J$C$F!"e(B#e$B8e=hM}$N%3!<%I$,J,$+$l$A$c$&$s$G$9$,!"e(Bretrye$B$r;H$($Pe(B
def foo
yield
retry if e$B>r7oe(B
#e$B$J$s$i$+$N=hM}e(B
ensure
#e$B8e=hM}e(B
end
e$B$H%m%8%C%/$,$9$C$-$j$9$k>lLL$b$"$j$^$9!#e(B
Yuguie$B$H$$$$$^$9!#e(B
e$BCN$j$^$;$s$G$7$?!#6C$-$G$9!#e(B
e$B$7$+$7!"$3$Ne(Bretrye$B$,$"$jF@$k$J$i%"%J%m%8!<$Ge(BProc#retrye$B$,M_$7$/$J$j$^$;e(B
e$B$s$+!#e(B
e$B$I$3$KLa$k$N$+$o$+$i$J$/$J$j$=$&$G$9$M!#$G$be(B
e$BL5L>4X?t$H$7$F?6Iq$&$3$H$,4|BT$5$l$F$$$ke(Blambdae$B$K$OM_$7$$$+$J!"$H;W$$$^$9!#e(B
e$B$"$H$5$5$@$5$s$X!#e(Blambdae$B$K$D$$$F$G$9$,!"e(B
def foo &po
lambda(&po).call
e$B!!e(Bp :methodend
end
foo{return} #1.9#unexpected return (LocalJumpError) #1.8#=>:methodend
foo(&proc{return}) #1.9#unexpected return (LocalJumpError)
#1.8#=>:methodend
1.8e$B$@$H$I$A$i$be(Bnexte$B$N$h$&$KF/$-$^$9$,!“e(B1.9e$B$@$He(Bunexpected
return
(LocalJumpError)e$B$K$J$j$^$9!#e(B
lambdae$B$N5sF0$H$7$F$Oe(B1.8e$B$N$h$&$K%V%m%C%/$rH4$1$k$[$&$r4|BT$7$A$c$&$s$G$9e(B
e$B$,!”$I$&$G$7$g$&!)e(B