2014-02-14 07:16:56 -08:00
|
|
|
var fiber
|
|
|
|
|
var closure
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
var a = "before"
|
2015-07-10 09:18:22 -07:00
|
|
|
fiber = Fiber.new {
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(a)
|
2015-02-26 23:08:36 -08:00
|
|
|
Fiber.yield()
|
2014-02-14 07:16:56 -08:00
|
|
|
a = "after"
|
2015-02-26 23:08:36 -08:00
|
|
|
Fiber.yield()
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(a)
|
2014-02-14 07:16:56 -08:00
|
|
|
a = "final"
|
2014-04-02 19:41:53 -07:00
|
|
|
}
|
2014-02-14 07:16:56 -08:00
|
|
|
|
2015-07-10 09:18:22 -07:00
|
|
|
closure = Fn.new {
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(a)
|
2014-02-14 07:16:56 -08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-26 23:08:36 -08:00
|
|
|
fiber.call() // expect: before
|
|
|
|
|
closure.call() // expect: before
|
|
|
|
|
fiber.call()
|
|
|
|
|
closure.call() // expect: after
|
|
|
|
|
fiber.call() // expect: after
|
|
|
|
|
closure.call() // expect: final
|