gpt4 book ai didi

ruby - 在 Ruby 中重构 if elsif else

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

有没有办法重构这段代码并使其更清晰?你能用更少的 bool 值来解决这个问题吗?

def get_grade(grade_num)
if grade_num > 100
return "Please enter a number between 0 and 100"
elsif grade_num <=100 && grade_num >= 90
return 'A'
elsif grade_num < 90 && grade_num >= 80
return 'B'
elsif grade_num < 80 && grade_num >= 70
return 'C'
elsif grade_num < 70 && grade_num >= 60
return 'D'
elsif grade_num < 60
return 'F'
end
end

最佳答案

使用 Rangecase 语句怎么样?

def get_grade(grade)
case grade
when 90..100 then 'A'
when 80...90 then 'B'
when 70...80 then 'C'
when 60...70 then 'D'
when 0...60 then 'F'
else
'Please enter a number between 0 and 100'
end
end

关于ruby - 在 Ruby 中重构 if elsif else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30606605/

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