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

现在你可以通过写Agoto A.

而不是使用if / else,你可以使用switch case,以便你的代码看起来像

A
case variable
when something
  B
  D
when something else
  B
  C
  D
else
  C
  D
end

这是开关盒的经典用途。 这里是你如何在红宝石中做到这一点。 此外,我就可以把所有该做的方法,并从里面给他们打电话when

链接地址: http://www.djcxy.com/p/25649.html

上一篇: Ruby substitute for goto

下一篇: How to change hash keys