a pet peeve of mine ... the 'm' in am and pm stands for meridiem, from the Latin "mid-day", so 12am, 12 ante-meridiem, is either nonsensical or refers to the preceding midnight similarly 12pm, 12 post-meridiem, is either nonsensical or refers to the following midnight by using 12noon and 12midnight (or abbreviations thereof), one avoids the ambiguity
unfortunately, as I'm still learning J, I have little clue how to modify any of the suggested solutions -Dan On 2 Apr 2014, at 18:07, Roger Hui wrote: > (;:'am pm') ,~&.>/ ":&.>>:i.12 > ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬────┬────┬────┐ > │1am│2am│3am│4am│5am│6am│7am│8am│9am│10am│11am│12am│ > ├───┼───┼───┼───┼───┼───┼───┼───┼───┼────┼────┼────┤ > │1pm│2pm│3pm│4pm│5pm│6pm│7pm│8pm│9pm│10pm│11pm│12pm│ > └───┴───┴───┴───┴───┴───┴───┴───┴───┴────┴────┴────┘ > > > > > > On Wed, Apr 2, 2014 at 4:40 PM, Linda Alvord <lindaalv...@verizon.net>wrote: > >> Now we can both wait for a virtuoso. Here's my first try which can >> probably >> be simplified a lot. >> >> >> <"1 (":,.(>:i.12),>:i.12),.(12 2$'am'),12 2$'pm' >> >> -----T----T----T----T----T----T----T----T----T----T----T----T----T----T----T >> ----T----T----T----T----T----T----T----T----┐ >> │ 1am│ 2am│ 3am│ 4am│ 5am│ 6am│ 7am│ 8am│ 9am│10am│11am│12am│ 1pm│ 2pm│ >> 3pm│ >> 4pm│ 5pm│ 6pm│ 7pm│ 8pm│ 9pm│10pm│11pm│12pm│ >> >> L----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ >> ----+----+----+----+----+----+----+----+----- >> >> Now we can both wait for a virtuoso. >> >> Linda >> >> -----Original Message----- >> From: programming-boun...@forums.jsoftware.com >> [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of glts >> Sent: Wednesday, April 02, 2014 8:12 AM >> To: programm...@jsoftware.com >> Subject: Re: [Jprogramming] Pretty print hours of the 12-hour clock >> >> On Wed, Apr 2, 2014 at 12:59 PM, chris burke <cbu...@jsoftware.com> wrote: >>> The argument i.24 to fmthours may be unnecessary. >>> >>> >>> In any case, you can generate all hours as: >>> >>> >>> allhours=: , (;:'am pm') (,~":) each/ _1|.1+i.12 >>> >>> >>> Then fmthours is: >>> >>> >>> fmthours=: {&allhours >>> >>> >>> For example; >>> >>> >>> fmthours 4 >>> >>> +---+ >>> >>> |4am| >>> >>> +---+ >>> >>> fmthours i.24 >>> >>> +----+---+---+---+... >>> >>> |12am|1am|2am|3am|... >>> >>> +----+---+---+---+... >> >> Very nice and very instructive. It hadn't occurred to me to use 'each' >> on an unboxed argument, this will be useful in the future. >> >> And I had used this thing to obtain the hours: >> >> hours=: 12&(|`[@.(0=|))"0 >> hours i.24 >> 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 >> >> Incrementing and shifting is simpler and more elegant. Thanks! >> >> >> -- >> David >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- Dan T. Abell :: dabell at txcorp dot com :: 303.444.2452 Tech-X Corp., 5621 Arapahoe Ave, Ste A, Boulder CO 80303 http://www.txcorp.com :: 303.748.6894/c 303.448.7756/fx ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm