ruby从内部调用方法重新运行的正确方法是什么在下面的示例中当@dest_reenter等于yes时我希望b_stage方法再次执行
def b_stage
if @dest_reenter == 'yes'
@dest_reenter = nil
b_stage
end
end
Run Code Online (Sandbox Code Playgroud)
这就是你如何进行递归,但使用这些实例变量不是可行的方法.一个更好的例子是这样的:
def b_stage(i)
if i < 5
puts i
i += 1
b_stage(i)
end
end
Run Code Online (Sandbox Code Playgroud)
如果你打电话b_stage(0),输出将是
0
1
2
3
4
Run Code Online (Sandbox Code Playgroud)