Ruby代替goto

tmf*_*all 0 ruby

我怎么能在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
Run Code Online (Sandbox Code Playgroud)

寻找一种在Ruby中完成这样的事情的方法.我确定这个问题在某个地方得到了回答,但我不知道它会被称为什么.我找到了一些关于宝石的信息,允许你使用goto但我更愿意学习正确的方法来做到这一点(似乎这可能是一个笑话).我更喜欢自己编写代码,但如果有助于回答我的问题,我可以提出我的实际代码.

如果有人能指出我正确的方向.

此外,如果goto不是一个笑话,为什么不能使用?

Sau*_*abh 7

而不是goto只为A,B等创建函数并使用它们

例如:

def A
  # Lot of code
end
Run Code Online (Sandbox Code Playgroud)

现在你goto只需写一下即可A.

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

A
case variable
when something
  B
  D
when something else
  B
  C
  D
else
  C
  D
end
Run Code Online (Sandbox Code Playgroud)