On Mon, Mar 20, 2006 at 01:26:03PM +0100, TSa wrote:
: HaloO,
: S03 does explicitly disallow auto-reversed ranges.
: And I'm not sure if the upto operator has a downto
: cousin where ^-4 == (-1, -2, -3, -4) returns a list
: that is suitable for indexing an array from the back.
: Why is that so?

I suppose because nobody else wanted it yet.  If we were to add
such an operator opposite to ^4, I suspect it'd be v-4 or some such,
but maybe negative version numbers are more useful.  :-)

But Huffman coding says that symmetry *should* be broken when a thing
is used much more frequently than its opposite.

: With negative ranges, negative array and list length
: becomes a logical extension and .reverse just flips
: the sign of the array. But I know that code snippets
: like 'if @array < 10 {...}' then need to be "upgraded"
: to explicitly take the abs: 'if abs @array < 10 {...}'
: which is good documentation but somewhat inconvenient.

People would certainly rebel.

: OTOH, using contentless arrays as kind of integer becomes
: even more attractive ;)

Though you can always use $array as an arrayless content...

: Is there a .reversed property for arrays, lists and
: ranges that allows to query the direction of growth?

Not with a standard array.

: And is .reverse working lazily with respect to the
: list or array and just flips this property?

.reverse isn't a mutator.  It merely presents a reversed view of
whatever, and is hopefully as lazy as the underlying object allows
in reverse.  (To reverse an array in place we'd use .=reverse.)


Reply via email to