[email protected]$G$9!%e(B
e$B!!$$$m$$$m$He(B Fiber
e$B$N;EMM$rG:$s$G$$$?$s$G$9$,!$7h$a$^$7$?!%$G!$<BAue(B
e$B$7$F%3%_%C%H$7$^$7$?!%e(B
e$B!&e(BFiber e$B$O%;%_%3%k!<%A%se(B
e$B!!e(BLua e$B$de(B Python
e$B$G$*$J$8$$N%;%%3%k!<%A%s$G$9!%DL>o$O$3$A$i$G==J,[email protected](B
e$B$H;W$$$^$9!%e(B
e$B!!e(BFiber#resume e$B$GBP>]%U%!%$%P$X%9%$%C%A!$e(BFiber.yield
e$B$Ge(B resume e$B$7$?e(B
e$B%U%!%$%P$XLa$j$^$9!%e(BLua
e$B$N%$%s%?!<%U%’!<%9$=$N$^$^$G$9!%e(BPython e$B$Ne(B
e$B%8%’%M%l!<%[email protected]$&$H!$e(Bnext e$B$He(B yield e$B$K$"$?$j$^$9!%e(B
e$B!!Nc30$,H/@8$9$k$H!$e(Bresume e$B$7$??M$KNc30$,EAGE$7$^$9!%e(B
e$B!!%U%!%$%P$,=*N;$9$k$H!$$=$N%V%m%C%/$NJV$jCM$re(B resume
e$B$7$?%U%!%$%P$Xe(B
e$BJV$7$^$9!%e(B
e$B!!$R$H$D$N%U%!%$%P$rB?=E$Ke(B resume
e$B$9$k$3$H$O$G$-$^$;$s!%%(%i!<$K$J$je(B
e$B$^$9!%e(B
->
e$B$3$l$GLdBj$K$J$k$3$H$C$F$"$j$^$9$+$M!)!!e(BPythone$B$N%8%’%M%l!<%?$be(B
e$B$=$&$+$H;W$C$?$N$G$9$,!$Nc$K$h$C$F$O$:$7$F$k$+$b!%e(B
fib = Fiber.new{
Fiber.yield 10
20
}
p fib.resume #=> 10
p fib.resume #=> 20
p fib.resume #=> FiberError
e$B!&e(BFiber::Core e$B$O%3%k!<%A%se(B
e$B!!e(BFiber::Core#transfer
e$B$H$$$&%a%=%C%I$G!$%U%!%$%P4V$r0\F0$7$^$9!%8<e(B
e$B?M8~$1!%e(B
e$B!!Nc30$,H/@8$7$?$ie(B root fiber e$B$XEAGE$7$^$9!%=*N;$b!$e(Broot
fiber e$B$XLae(B
e$B$j$^$9!%[email protected])8f$,Fq$7$$$$$N$G8<?M8~$1!%e(B
e$B!!$A$J$_$K!$e(Broot fiber e$B$Oe(B Fiber::Core
e$B$N%$%s%?!<%U%’!<%9$K$J$j$^$9e(B
e$B!Je(Bresume e$B=PMh$J$$$7!K!%e(B
e$B!!e(BFiber::Core
e$B$H$$$&$N$O!$L>A0$,NI$/$J$$$H;W$&!%$1$I!$$[$+$K;W$$Ib$+e(B
e$B$P$J$+$C$?!%e(B
e$B!!$I$s$J$b$s$G$7$g$&$+!%e(B