gpt4 book ai didi

ruby - 具有多个条件的 ruby​​ case 语句如何工作

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:03 24 4
gpt4 key购买 nike

<分区>

我的代码:

def double_mails?(mail)

if @mails_hash.include?(mail) && @mails_hash[mail] > 0
p "true"
return true
elsif @mails_hash.include?(mail) && @mails_hash[mail] == 0
@mails_hash[mail] =+ 1
p "false double"
return false
else
p "false else"
return false
end
end

我的问题:

当我尝试从上面的代码中创建这样的 case 语句时,程序逻辑不再起作用:

def double_mails?(mail)
case mail
when @mails_hash.include?(mail) && @mails_hash[mail] > 0
p "true"
return true
when @mails_hash.include?(mail) && @mails_hash[mail] == 0
@mails_hash[mail] =+ 1
p "false double"
return false
else
p "false else"
return false
end
end

无论我传入哪个值,它总是跳转到 else block 。if..else 工作正常。为什么它不起作用?如何修正语法以使其用作 case 语句?

提前致谢。

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