Larry Wall wrote:
> David Green wrote:
> : I actually found things I liked in pretty much all the suggested 
> : alternatives, but none of them reached out and grabbed me by the
> : throat the way "nth" did.  It just seems more Perlish.
> 
> Yow.  Presumably "nth" without an argument would mean the last.  

If it means the last, why not just use C<last>?  It's only one character
longer, and its meaning can't be mistaken or confused.  So

   @ints[1st..last]

means

   @ints[*]

There is the question about what C<last+1> would mean; intuitively, moving
forward from the end takes you into limbo; but I can see an advantage in
wrapping things around such that last+1 == 1st, and 1st-1 == last.  You
could even go so far as to allow something like postfix:'th for whole
number scalars, so that $n'th == last + $n.  This would imply that 0th ==
last, that -1st == last - 1 (or "next to last"), and that -3rd == last - 3
(or "third from last").  While the idea that 0th == last is
counterintuitive to me, the idea that negative ordinals correspond to
offsets from the last element seems rather nice.  All in all, this
salvages the perl5 $ints[-1] notion, albeit requiring a +1 adjustment - or
this could be translated as @ints[1st-1] (a bit bulkier, but more
legible).  

Would we be able to extend this notion?  That is, would the following be
viable:

   @ints.shape[0].1st
   # returns the index that corresponds to 1st for dimension zero

Regardless, the following _would_ be viable:

   @ints.shape[1st]
   # returns information that corresponds to the first dimension

And that's worth a lot.  

--

Where else could ordinals come in handy?  They're already being used in
REs, but I'd recommend expanding the usage there to include C<last> and
possibly C<$n'th> as well as C<1st>, C<2nd>, C<3rd>, etc.  Where else? 
Would there be any use for C[<STDIN>.3rd], frex?

=====
Jonathan "Dataweaver" Lang


                
_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush

Reply via email to