gpt4 book ai didi

ruby - 相当于 ruby​​ 的 case/when 语句中的 `break`?

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:03 24 4
gpt4 key购买 nike

我正在寻找一个跳过 when block 执行的语句,类似于 break for 循环。这可能吗?

我想避免的是这样的构造:

case n
when 1
if valid
foo.bar
end
when 2
if valid
foo.foo
end

更理想的代码块应该是这样的:

case n
when 1
break unless valid
foo.bar
when 2
break unless valid
foo.foo
end

显然,break 不起作用。

最佳答案

等效但更简洁:

case n
when 1
foo.bar if valid
when 2
foo.foo if valid
end
end

of如果条件真的适用于所有情况,你可以事先检查一下:

if valid
case n
when 1
foo.bar
when 2
foo.foo
end
end
end

如果两者都不适合您,那么简短的回答:不,在 ruby​​ 的 case 语句中没有等效的 break

关于ruby - 相当于 ruby​​ 的 case/when 语句中的 `break`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13210333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com