gpt4 book ai didi

Ruby:嵌套的 if 语句

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

我正在编写一些代码,但它最终变得太丑陋了,不符合我的喜好。无论如何我可以重构它以便我不使用嵌套的 if 语句吗?

def hours_occupied(date)
#assuming date is a valid date object
availability = get_work_hours(date)
focus = "work"

if availability.nil
availability = get_family_hours(date)
focus = "family"

if availability.nil
availability = get_friend_hours(date)
focus = "friends"
end
end
end

我知道我可以为可用性做这样的事情

availability = get_work_hours(date) || get_family_hours(date) || get_friend_hours(date)

但是如何相应地设置焦点变量呢?

最佳答案

我会做类似下面的事情,因为它清楚地表明每种情况都是相互排斥的:

def hours_occupied(date)
if availability = get_work_hours(date)
focus = "work"
elsif availability = get_family_hours(date)
focus = "family"
elsif availability = get_friend_hours(date)
focus = "friends"
end
end

关于Ruby:嵌套的 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17194571/

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