I used to reread the dictionary and work on the labs.

Have not done it since J6.

Now that wd is working again I may start again.

A lot to reread now.

-
Björn Helgason
gsm:6985532
skype:gosiminn
On 2.3.2014 18:18, "John Baker" <[email protected]> wrote:

> I had forgotten about this option too. Time to reread the dictionaries.
>
> Sent from my iPhone
>
> > On Mar 2, 2014, at 12:06 PM, Björn Helgason <[email protected]> wrote:
> >
> > !!!
> >
> > Nice!!!
> >
> > I did not know this.
> >
> > At least forgot if I did know.
> >
> > Very useful.
> >
> > Thanks!
> >
> > -
> > Björn Helgason
> > gsm:6985532
> > skype:gosiminn
> >> On 2.3.2014 12:35, "R.E. Boss" <[email protected]> wrote:
> >>
> >> The obvious being
> >>
> >>   6!:0 'YYYY-MM-DDThh:mm:ss'
> >> 2014-03-02T13:32:57
> >>
> >> ?
> >>
> >>
> >> R.E. Boss
> >>
> >> (Add your info to http://www.jsoftware.com/jwiki/Community/Demographics)
> >>
> >>
> >>> -----Original Message-----
> >>> From: [email protected] [mailto:programming-
> >>> [email protected]] On Behalf Of Raul Miller
> >>> Sent: zondag 2 maart 2014 10:05
> >>> To: Programming forum
> >>> Subject: [Jprogramming] iso time format with 8!:2
> >>>
> >>> Given
> >>>   6!:0''
> >>> 2014 3 2 3 30 46.034
> >>>
> >>> I'd like to generate the string
> >>> 2014-03-02T03:30:46
> >>>
> >>> And, to make things just a bit strange, I'd like to use 8!:2 instead of
> >> the
> >>> obvious.
> >>>
> >>> Just to be clear, though, here's my idea of "obvious":
> >>>
> >>>   }:;(1,5#3)<@}."_1'--T:: ',.~":,.10000+<.6!:0''
> >>>
> >>> By obvious, I do not mean that I instantly thought of that expression,
> I
> >>> had to think a few minutes, and I had a few errors to fix in my initial
> >>> concept. But by "obvious" I mean that I am using the basic J
> vocabulary.
> >>>
> >>> Picking up the vocabulary isn't instant, though, and I'm using 14
> >> different
> >>> words from the vocabulary (plus some nouns and a pair of parenthesis).
> So
> >>> if we expect a person to pick up five words from the vocabulary a week,
> >>> that's at least three weeks of training before a person could be
> >> reasonably
> >>> comfortable composing a sentence like that.
> >>>
> >>> Now... the 8!:0, 8!:1 and 8!:2 verbs do have their own tiny vocabulary
> as
> >>> represented by their format strings. But these are examples of
> extremely
> >>> specialized words - not very powerful at all, which means they require
> >> less
> >>> study than J as a whole, and (within their limited capabilities) will
> >> tend
> >>> to be faster that a more general approach.
> >>>
> >>> Formatting is not likely a speed bottleneck for iso date formatting -
> >> it's
> >>> more when you have a big sheet of numbers and a weak computer that you
> >>> might care about formatting time. But it's still an interesting
> exercise.
> >>> (Or a boring one, if you are not interested in formatting text.):
> >>>
> >>> So... here's how I approached this exercise:
> >>>
> >>>   <.2014 3 2 3 30 46.034
> >>> 2014 3 2 3 30 46
> >>>
> >>> Let's just ignore the decimal part, for now.
> >>>
> >>>   '4' 8!:2 <.2014 3 2 3 30 46.034
> >>> 2014.00003.00002.00003.000030.000046.0000
> >>>
> >>> Looks like a number by itself is decimal places after the decimal
> point.
> >>>
> >>>   '4.' 8!:2 <.2014 3 2 3 30 46.034
> >>> 2014   3   2   3  30  46
> >>>
> >>> But a decimal point in the format specifier fixes that.
> >>>   '4.,2.,2.,2.,2.,2.' 8!:2 <.2014 3 2 3 30 46.034
> >>> 2014 3 2 33046
> >>>
> >>> I need commas to separate the format specifiers for independent
> columns.
> >>>
> >>>   '4.,r<0>2.,2.,2.,2.,2.' 8!:2 <.2014 3 2 3 30 46.034
> >>> 201403 2 33046
> >>>
> >>> The r option gives "fill" or, in this context "leading zeros", but each
> >>> format needs this spec.
> >>>
> >>>   '4.,r<0>2.,r<0>2.,r<0>2.,r<0>2.,r<0>2.' 8!:2 <.2014 3 2 3 30 46.034
> >>> 20140302033046
> >>>
> >>> Getting bulky, but now all my two digit numbers can have leading
> zeros. I
> >>> could get fancy here, and use J to build the format specifier, but
> that's
> >>> premature, watch:
> >>>
> >>>   '4.,p<->r<0>2.,p<->r<0>2.,p<T>r<0>2.,p<:>r<0>2.,p<:>r<0>2.' 8!:2
> >> <.2014
> >>> 3 2 3 30 46.034
> >>> 2014-3-2T3****
> >>>
> >>> Here, I've added a prefix for each number, to get the various
> separators.
> >>> Unfortunately, I forgot to widen each column to make things fit.
> >>>
> >>>   '4.,p<->r<0>3.,p<->r<0>3.,p<T>r<0>3.,p<:>r<0>3.,p<:>r<0>3.' 8!:2
> >> <.2014
> >>> 3 2 3 30 46.034
> >>> 20140-30-20T3:30:46
> >>>
> >>> That's... better ,but now we can see that the concept of fill interacts
> >>> badly with the concept of using a prefix, so let's try using a suffix
> >>> instead:
> >>>   's<->4.,s<->r<0>3.,s<T>r<0>3.,s<:>r<0>3.,s<:>r<0>3.,r<0>3.' 8!:2
> >> <.2014
> >>> 3 2 3 30 46.034
> >>> |domain error
> >>>
> >>> Oops, suffix is a q, not an s.
> >>>
> >>> 8!:2<.2014 3 2 3 30 46.034
> >>>   'q<->4.,q<->r<0>3.,q<T>r<0>3.,q<:>r<0>3.,q<:>r<0>3.,r<0>3.' 8!:2
> >> <.2014
> >>> 3 2 3 30 46.034
> >>> ****03-02T03:30:046
> >>>
> >>> Almost done but I need to adjust my column widths again.
> >>>
> >>>   'q<->5.,q<->r<0>3.,q<T>r<0>3.,q<:>r<0>3.,q<:>r<0>3.,r<0>2.' 8!:2
> >> <.2014
> >>> 3 2 3 30 46.034
> >>> 2014-03-02T03:30:46
> >>>
> >>> Done.
> >>>
> >>> And, that's not actually a whole lot more verbose than the other
> >> expression.
> >>>
> >>> It's tempting to think about making 8!:2 more powerful, but it's not
> >> really
> >>> about power - it's a specialized tool for a specialized task. If you
> want
> >>> the full generality of J, it's available.
> >>>
> >>> Of course, if you really want an iso formatted timestamp, you could
> >> always
> >>> find another way to get that. Learning exercises necessarily restrict
> >>> themselves in various ways.
> >>>
> >>> Also... http://en.wikipedia.org/wiki/ISO_8601 points out that the
> >> standard
> >>> really covers a lot of ground. And one thing we do not currently have
> in
> >> J
> >>> is a way of getting at what the operating system thinks is the time
> zone
> >> of
> >>> the user. That can matter if you are on a phone (where back a few
> decades
> >>> ago, computers were a bit harder to carry).
> >>>
> >>> Thanks,
> >>>
> >>> --
> >>> Raul
> >>> ----------------------------------------------------------------------
> >>> 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
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to