the dates utility might be of use to you

   load'dates'
   ts=.timestamp
   _8{. ts ''
19:33:38

you might want to use
 3j0": _3{. 6!:0 ''
 19 35 15




2008/1/1, McGuinness, Brian <[EMAIL PROTECTED]>:
>
> I am interested in porting some of my APL workspaces from
> APLX and Sharp APL
> for Linux to J.  I expected it to be fairly easy to learn
> J due to the
> similarity between the two languages, but it has turned
> out to be harder than
> I thought, partly due to the different terminology, e.g.
> verbs, conjugations,
> adverbs, etc.  as opposed to functions and operators,
> different names for
> equivalent functions, and so on.  One area I am looking at
> now is how to
> format output.
>
> The format primitive ": seems similar to APL thorn, except
> that it appears not
> to support any equivalent to APL2 picture format.
>
> Looking at the documentation for the format facility 8!:n,
> it seems to be a
> limited subset of APL #FMT.  In particular, it seems to
> lack the Z (zero fill)
> modifier and the G and <...> (insert arbitrary text)
> format specifiers.  This
> makes it more difficult to intermingle text and numbers,
> an operation that one
> commonly needs to perform when formatting output.
>
> For example, suppose that I want to display a date or time
> in an easily
> readable format.  In APL I could enter something like
>
> '06:06:06' {thorn} #TS[4 5 6]
> or
> 'ZI2,<:>,ZI2,<:>,ZI2' #FMT #TS[4 5 6]
>
> In J, the best I have been able to come up with is
> }.,'r<:00>3.0' (8!:2) <. _3{. 6!:0 ''
>
> but this is something of a kluge, depending on the fact
> that the components of
> the time are always nonnegative.  If I tried to use a
> similar technique to
> format other base 60 values that could be negative, such
> as angles in
> degrees, minutes, and seconds of arc, I would get into
> trouble, since the
> background fill appears to the left of the sign, so I
> might end up with
> something like 00-3:07:32.  Here, having a Z modifier
> available would clearly
> be better that faking it with background fill.
>
> Or suppose that I had some telephone numbers expressed as
> integers, and I
> wanted to format them like (702) 888-1375.  In APL I could
> say
> 'G<(999) 999-9999>' #FMT PHONENUMS
>
> I see no equivalent functionality provided by 8!:n.  The
> 8!:n formatter would
> be much more useful if the Z, G, and <...> text insertion
> from #FMT were added
> to it.
>
> The best option I see right now is to use printf, which I
> was told about when
> I posted about J formatting in comp.lang.apl.  I hadn't
> known about this,
> having not seen it in the documentation.  So I might type
>
> '%2.2d:%2.2d:%2.2d' printf <. _3{. 6!:0 ''
>
> (much like in C) to display the time of day.  The printf
> function doesn't have
> any equivalent to the G format specifier, but it does
> provide the equivalent
> of <...>.  It should provide the equivalent of Z as well,
> but this doesn't
> work for negative numbers:
> '%3.3d' printf _4
> results in
> 0-4
> which is clearly not the desired result.
>
> The equivalent C program:
>
> #include <stdio.h>
>
> int main () {
>    printf ("%3.3d\n", -4);
> }
>
> compiled with the Gnu compiler collection, prints
> -004
> which is a more reasonable result.
>
> By the way, I rarely find the J documentation index to be
> of any use since,
> like the indices to most software documentation, it is
> woefully incomplete.
> If you look under F, there is no entry at all for
> formatting.  If there was, I
> would expect it to point to information on all of the
> formatting facilities
> provided by J, including ":, 8!:n, and printf.  It would
> also be useful to
> have entries for APL terms such as find, scan, and so on,
> with pointers to
> documentation on the J equivalents.
>
> Including more examples in the documentation would also be
> useful.  For
> example, I have been shown that monadic 8!:n can be
> applied to a boxed array
> of numbers and strings, but I have seen no examples
> showing how to use dyadic
> 8!:n for this.  What format specifier is used for the
> columns containing text?
> Suppose I want to display a list of location names
> followed by the latitudes
> and longitudes of those locations (e.g. 'Cranford,
> NJ';40.659;-74.305).  What
> would be an appropriate left argument for 8!:n?
>
> --- Brian
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Björn Helgason, Verkfræðingur
Fugl&Fiskur ehf, Þerneyjarsund 23, Box 127
801 Grímsnes ,t-póst: [EMAIL PROTECTED]
Skype: gosiminn, gsm: +3546985532
Landslags og skrúðgarðagerð, gröfuþjónusta
http://groups.google.com/group/J-Programming


Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans

góður kennari getur stigið á tær án þess að glansinn fari af skónum
          /|_      .-----------------------------------.
         ,'  .\  /  | Með léttri lund verður        |
     ,--'    _,'   | Dagurinn í dag                     |
    /       /       | Enn betri en gærdagurinn  |
   (   -.  |        `-----------------------------------'
   |     ) |        (\_ _/)
  (`-.  '--.)       (='.'=)
   `. )----'        (")_(")
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to