i = 0
while i < 10 do
i += 1
end
Run Code Online (Sandbox Code Playgroud)
有没有办法让它发出值 [1..10]?
例如:
ary = while (i < 10).map do
Run Code Online (Sandbox Code Playgroud)
有没有办法让它发出值?
我想使用while[...]
我怀疑我while通常会遵循为什么要在 ruby 中使用,但是是的,如果您包装while到一个Enumerator实例中,这是可能的。
Enumerator.new do |y|
i = 0
while i < 10 do
i += 1
y << i
end
end.map { |i| i ** 2 }
#? [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Run Code Online (Sandbox Code Playgroud)