用Ruby显示一天中每个小时的最简单方法

用Ruby显示一天中每个小时的最简单方法,ruby,Ruby,我有一个日历屏幕,我想在其中显示一天中的小时数,如下所示: 12:00am 1:00am 2:00am .. 4:00pm 5:00pm etc. array = ['12:00am'] + (1..11).map {|h| "#{h}:00am"} + ['12:00pm'] + (1..11).map {|h| "#{h}:00pm"} 作为一个十足的Ruby noob,我想知道是否有人能帮我找出最简单的方式来显示它。您可以这样生成: 12:00am 1:00am 2:0

我有一个日历屏幕,我想在其中显示一天中的小时数,如下所示:

12:00am

1:00am

2:00am

..

4:00pm

5:00pm

etc.
array = ['12:00am'] + (1..11).map {|h| "#{h}:00am"} + ['12:00pm'] + (1..11).map {|h| "#{h}:00pm"}

作为一个十足的Ruby noob,我想知道是否有人能帮我找出最简单的方式来显示它。

您可以这样生成:

12:00am

1:00am

2:00am

..

4:00pm

5:00pm

etc.
array = ['12:00am'] + (1..11).map {|h| "#{h}:00am"} + ['12:00pm'] + (1..11).map {|h| "#{h}:00pm"}
或者简单地写出数组(这样更有效):

然后你可以随心所欲地打印这些

array.each do |el|
    puts el
end
或者使用实际的
DateTime
对象和
%I:%M%p
作为:

将打印:

"12:00AM"
"01:00AM"
"02:00AM"
"03:00AM"
"04:00AM"
"05:00AM"
"06:00AM"
"07:00AM"
"08:00AM"
"09:00AM"
"10:00AM"
"11:00AM"
"12:00PM"
"01:00PM"
"02:00PM"
"03:00PM"
"04:00PM"
"05:00PM"
"06:00PM"
"07:00PM"
"08:00PM"
"09:00PM"
"10:00PM"
"11:00PM"
"12:00AM"
"01:00AM"
"02:00AM"
"03:00AM"
"04:00AM"
"05:00AM"
"06:00AM"
"07:00AM"
"08:00AM"
"09:00AM"
"10:00AM"
"11:00AM"
"12:00PM"
"01:00PM"
"02:00PM"
"03:00PM"
"04:00PM"
"05:00PM"
"06:00PM"
"07:00PM"
"08:00PM"
"09:00PM"
"10:00PM"
"11:00PM"