对于纤维我们有一个经典的例子:生成斐波那契数 fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield yx,y = y,x+y end end 为什么我们需要纤维? 我可以用相同的Proc重写这个(实际上是closures的) def clsr x, y = 0, 1 Proc.new do x, y = y, x + y x end end 所以 10.times { puts fib.resume } 和 prc = clsr 10.times { puts prc.call } 将返回相同的结果。 […]