gpt4 book ai didi

Ruby 迭代数小时

转载 作者:太空宇宙 更新时间:2023-11-03 18:09:43 25 4
gpt4 key购买 nike

假设我有一些关于开始时间和结束时间的用户输入:

  • 开始 = 09:00
  • 结束 = 01:00

如何显示这两个时间之间的所有时间?所以从09到23、0,再到1。

有简单的情况:

  • 开始 = 01:00
  • 结束 = 04:00

这只是一个问题((start_hour.to_i)..(end_hour.to_i)).select { |小时|

最佳答案

这可以通过自定义枚举器实现来解决:

def hours(from, to)
Enumerator.new do |y|
while (from != to)
y << from
from += 1
from %= 24
end
y << from
end
end

这给了你一些你可以像这样使用的东西:

hours(9, 1).each do |hour|
puts hour
end

或者如果你想要一个数组:

hours(9,1).to_a
#=> [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 1]

关于Ruby 迭代数小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36844320/

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