检查早晨或下午是否是红宝石

问题描述 投票:4回答:4

如果Time.new是上午,如果下午是下午,如何打印早晨

00:00-12:00

12:00-00:00

ruby
4个回答
11
投票

[如果您将进行大量测试,这是另一种可能性(不是我提倡戴上帽子给猴子打补丁):

class Time
  def morning?
    hour < 12
  end
  def afternoon?
    hour >= 12
  end
end

puts Time.now.morning? ? 'morning' : 'afternoon'

6
投票

怎么样:

puts Time.now.hour < 12 ? 'morning' : 'afternoon'

相当于:

if Time.now.hour < 12
  puts 'morning'
else
  puts 'afternoon'
end

6
投票
(0..11).include?(Time.now.hour) ? 'morning' : 'afternoon'

0
投票
def get_time_of_day(hour)
    if hour => 5 and hour <= 9
      return "early_morning"
    elsif hour > 9 and hour <= 11
      return "late morning"
    elsif hour > 11 and hour <= 1
      return "early afternoon"
    elsif hour > 1 and hour <= 4
      return "late afternoon"
    elsif hour > 4 and hour <= 7
      return "evening"
  end
© www.soinside.com 2019 - 2024. All rights reserved.