Ruby替代goto
我如何在Ruby中做这样的事情?
if variable = something
do A
do B
do D
elsif variable = something different
do A
do B
do C
do D
else
do A
do C
do D
A = set of loops with if else
B = set of loops with if else
C = set of loops with if else
D = final steps
在Ruby中寻找一种方式来完成这样的事情。 我确信这个问题是在某个地方回答的,但我不知道它会被称为什么。 我发现了一些关于gem的信息,可以让你使用goto,但我更愿意学习正确的方法来做到这一点(似乎这可能是一个笑话)。 我宁愿自己编写代码,但如果能帮助回答我的问题,我可以将自己的实际代码写出来。
如果有人能够指引我正确的方向。
另外,如果goto不是一个玩笑,为什么不能使用?
而不是为A,B等创建函数并使用它们
例如:
def A
# Lot of code
end
现在你可以通过写A
来goto
A.
而不是使用if / else,你可以使用switch case,以便你的代码看起来像
A
case variable
when something
B
D
when something else
B
C
D
else
C
D
end
这是开关盒的经典用途。 这里是你如何在红宝石中做到这一点。 此外,我就可以把所有该做的方法,并从里面给他们打电话when