gpt4 book ai didi

ruby - “干燥”我的 Ruby 语法

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

我有一个重复比较,我必须检查三个变量是否等于某个变量。为简单起见,我将创建一个场景来说明我遇到的问题。

if time == -1 and day_of_week == -1 and month == -1 

我想知道是否有一种简洁、逻辑上等效的方法来实现同一行代码而无需重复。

现在我正在使用一种迂回的方式来做到这一点,如下所示:

all_equal = true
[time_now, day_of_week, month].each { |value| all_equal = false if value != -1 }
if all_equal ....

哈,显然它有点夸张(而且效率明显较低),但我发现没有重复看起来更令人愉悦。

您会推荐更好的方法吗?

谢谢!

最佳答案

使用Enumerable#all? :

if [time_now, day_of_week, month].all? { |value| value == -1 }
# do something
end

关于ruby - “干燥”我的 Ruby 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153055/

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