User Tools

Site Tools


hourlist

**This is an old revision of the document!**

Don Park 3:15pm feeling tricky by listing all hours in a day with this ruby:

irb(main):001:0> ["am","pm"].map{|m| (["12"]+1.upto(11).to_a).map{|h| "#{h} #{m}"}}.flatten
=> ["12 am", "1 am", "2 am", "3 am", "4 am", "5 am", "6 am", "7 am", "8 am", "9 am", "10 am", "11 am", "12 pm", "1 pm", "2 pm", "3 pm", "4 pm", "5 pm", "6 pm", "7 pm", "8 pm", "9 pm", "10 pm", "11 pm"]

RobotAdam 2:53pm @donpdonp That's fun. A Python variation:

>>> import itertools
>>> list(itertools.chain(*(("%d %s" % (h, t) for h in [12] + range(1, 12)) for t in ('am', 'pm'))))
['12 pm', '1 pm', '2 pm', '3 pm', '4 pm', '5 pm', '6 pm', '7 pm', '8 pm', '9 pm', '10 pm', '11 pm', '12 pm', '1 pm', '2 pm', '3 pm', '4 pm', '5 pm', '6 pm', '7 pm', '8 pm', '9 pm', '10 pm', '11 pm']

@selenamarie 3:10pm @donpdonp @robotadam hmmm…

for my $meridiem (qw/am pm/) { print map { $_ . $meridiem . ' '} (12,1..11); }
12am 1am 2am 3am 4am 5am 6am 7am 8am 9am 10am 11am 12pm 1pm 2pm 3pm 4pm 5pm 6pm 7pm 8pm 9pm 10pm 11pm

@MarkusQ 4:22pm: @donpdonp If you'd like to feel even trickier:

(0..23).map { |h| "#{((h-1) % 12)+1} #{%w{A P}[h/12]}M" }  
=> ["12 AM", "1 AM", "2 AM", "3 AM", "4 AM", "5 AM", "6 AM", "7 AM", "8 AM", "9 AM", "10 AM", "11 AM", "12 PM", "1 PM", "2 PM", "3 PM", "4 PM", "5 PM", "6 PM", "7 PM", "8 PM", "9 PM", "10 PM", "11 PM"]

@skaldef 4:26pm: @selenamarie @donpdonp @robotadam Haskell:

Prelude> [ show h ++ " " ++ m | m<- ["am", "pm"], h <- [12] ++ [1..11]]
["12 am","1 am","2 am","3 am","4 am","5 am","6 am","7 am","8 am","9 am","10 am","11 am","12 pm","1 pm","2 pm","3 pm","4 pm","5 pm","6 pm","7 pm","8 pm","9 pm","10 pm","11 pm"]
hourlist.1249345473.txt.gz · Last modified: 2024/01/31 04:08 (external edit)