Ruby编程:变量作用域、循环、异常处理与模块的深入解析
1. 变量作用域、循环与块
在Ruby编程中,变量作用域、循环以及块是非常重要的概念,它们影响着代码的执行逻辑和变量的可见性。
1.1 重试机制
redo
语句用于重复当前循环迭代,但有时候我们需要将循环重置到起始位置,这时 retry
语句就派上用场了。 retry
可以重启任何类型的迭代器循环。例如:
for i in 1..100
print "Now at #{i}. Restart? "
retry if gets =~ /^y/i
end
运行上述代码,当输入 y
时,循环会重新开始。另外, retry
在重启迭代器之前会重新计算其参数,以下是一个自定义 until
循环的示例:
def do_until(cond)
break if cond
yield
retry
end
i = 0
do_until(i > 10) do
print i, " "
i += 1
end
输出结果为: 0 1 2 3 4 5 6 7 8 9 10
1.2 变量作用域与块
while