On Wed, Nov 20, 2002 at 10:35:31PM -0500, Joseph F. Ryan wrote:
: >Does q)hi( really DWIM??  I haven't kept up with it, so I didn't 
: >know...that
: >is really odd if so.
: >
: 
: Yep, Apoc 5.  Personally, I'm not a big fan, but I'm not a language
: designer.

It's because s]foo]bar] is really ugly, and because we didn't want to
make judgements about all the possible Unicode pairings as to whether
you could use them like «» but not like »«.

: >In the one two three example, I thought arrays, when interpolated, did not
: >add spaces between their elements, such that the output should be
: >onetwothree
: >instead of
: >one two three
: >
: 
: Well, in perl5, Interpolated lists, join with $", which by default is a 
: space.  So this:
: "@a"
: 
: is actually:
: 
: join($",@a)
: 
: Whereas "@(@a)" should be treated like:
: 
: "".@a.""
: 
: Which simply flattens out the list elements.  I might be wrong, but at 
: least thats how
: I had P6C behave :)

What to interpolate between elements will likely be a property
on the array.  By default it should be a space.  We may have a
universal method like @a.as('%s',' ') to modify that at the point
of interpolation.  Could probably be written @a.join(' ') too.

: >You seem to agree with this in the later array interpolation section where
: >"@(1, 2)" becomes
: >12
: >instead of
: >1 2
: >
: >Does a list still return its last element in scalar context?  I thought I
: >remembered something about that changing?
: >
: 
: I think you may be right, but thats how P6C behaves.
: Time to send another bug to RT :)

A list in scalar context always returns a reference to the list.
That is, it assumes [...] around it.  You have to use ...[-1] to get
the last element of a list.

Larry

Reply via email to