我正在尝试从 Fibonacci 方法中捕获值并将其连接到一个数组。但是,它不是将循环中的每个值都分配给数组,而是仅返回最后一个值。有没有办法解决?谢谢你。
def fib_up_to(max)
i1, i2 = 1, 1
while i1 <= max
yield i1
i1, i2 = i2, i1+i2
end
end
def capture_arr(val)
$a = []
$a << val
end
fib_up_to(1000) do |f|
capture_arr(f)
end
p $a # => [987]