我怎么能在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不是一个笑话,为什么它不可以使用?
3条答案
按热度按时间wi3ka0sx1#
而不是后藤只是为A,B等创建函数并使用它们
例如:
现在你可以通过写
A
来goto
A。另外,也可以使用switch case代替if/else,这样代码看起来就像
h6my8fg22#
这是一个典型的使用开关的情况。Here就是你在ruby中如何做到的。另外,我将创建所有do的方法并从
when
内部调用它们rmbxnbpk3#
我已经创建了一个工作
label
+goto
gist,它非常简单,但这是我的尝试,如果你喜欢它,看看this gist代码用法示例:
输出以下内容:
希望有人会喜欢这个:)