ruby - 有没有更简洁的方法来组合 Ruby 中的许多比较?

标签 ruby comparison if-statement

我目前有这个 if 语句:

if Time.now.day == 1 and Time.now.hour == 0 and Time.now.minute == 0 and Time.now.second == 0

有没有更简洁的方法来做到这一点?

最佳答案

您可以使用 Time#to_a将您的时间转换为数组(秒、分钟、小时、日、月、年、wday、yday、isdst、时区):

Time.now.to_a  # => [20, 57, 16, 30, 11, 2010, 2, 334, false, "CET"]

然后切掉你想要匹配的部分:

Time.now.to_a[0,4]  # => [20, 57, 16, 30]

您的特定检查可以像这样简洁:

if Time.now.to_a[0,4] == [0,0,0,1]

关于ruby - 有没有更简洁的方法来组合 Ruby 中的许多比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310655/

相关文章:

mysql - MySQL的SELECT WHERE如何进行整数比较?

linux - 如何在 shell 脚本中比较两个浮点值

if-statement - 根据数组值在 SwiftUI 中有条件地文本

xslt - 检查属性等于值的节点是否存在

javascript - 我想传递一个对象的路径

ruby - Ruby 中的类变量继承

ruby Mechanize : multiline value for textarea gets merged

java - PriorityQueue 的比较如何工作

ruby - 我有一个字符串 'Question' ,如何获取类问题的实例

java - AES/CBC/PKCS5Padding 在 java 中加密在 ruby​​ 中解密