Hi,

[EMAIL PROTECTED] wrote:
> While trying to use say for debugging, I ran across an oddity.  While
> I can:
>   say "[EMAIL PROTECTED]";
> and
>   say @some_array;
> this doesn't work:
>   say "@some_array";

Pugs is correct here, you need to use [] or {} to interpolate
aggregates:

    say "$scalar @array[] %hash{}";

> Even stranger:
>   class SomeClass {
>     has $.scalar_attr;
>     has @.array_attr;
>     method trial () {
>       say "$.scalar_attr @.array_attr";
>     }
>   }
> Calling trial yields the correct value of the scalar, but the literal
> '@.array_attr' instead of its value.  Oddly, substituting $.array_attr
> yields the value with no complaint that there is no such scalar.

Ah, that's probably because under the current runcore, all $.vars are
merely keys for a hash, and the sigil seems to get stripped away.

(Under the new PIL runcore, Stevan's metamodel will be/is integrated,
i.e. we'll have "real" OO, and accessing
$.attributes_which_do_not_exist will fail at compile-time.)

> Am I missing something, or should I submit a test?

Yes, please do so! :)

> If the later, what folder should I put it in?

t/oo/attributes/, probably.


--Ingo

-- 
Linux, the choice of a GNU | self-reference, n. - See self-reference  
generation on a dual AMD   | 
Athlon!                    | 

Reply via email to