gpt4 book ai didi

Ruby: 'case true' 什么时候阻塞循环?

转载 作者:行者123 更新时间:2023-12-05 08:28:14 25 4
gpt4 key购买 nike

有一段代码

 A = "am"
F = "fm"
def fmam(n)
return if n == 0
loopy(n - 1)
case true
when n % 15 == 0
puts B + L
when n % 5 == 0
puts L
when n % 3 == 0
puts B
else
puts n
end
end
fmam(20)

在这段代码中,case true 做了什么?

最佳答案

case 有两种形式。您使用的表单将 case 关键字(在本例中为 true)之后的“target”与每次比较(每个 when 之后的部分)进行比较> 关键字)使用 === 运算符。您最终得到一系列 bool 表达式并执行第一个计算结果为 true 的代码。因此,它是多余的并且有点困惑。最好删除 true 并使用第二种形式的 case:

    case
when n % 15 == 0
puts B + L
when n % 5 == 0
puts L
when n % 3 == 0
puts B
else
puts n
end

这做同样的事情,但更清晰。

关于Ruby: 'case true' 什么时候阻塞循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16023930/

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