Hi, for your last question, let's use again what Norman showed you earlier:
> class AA { has Str @.I is rw } (AA) > my $CC = AA.new(I => [Str, Str, 'two', Str, 'four']) AA.new(I => Array[Str].new(Str, Str, "two", Str, "four")) > say $CC.I[0] (Str) > say $CC.I[2] two > say $CC.I[4] four In this case undefined values are initialized by their own base class. Since @.I was declared as a Str array, then Norman used the base class 'Str' as initialization value. On Tue, Jul 6, 2021 at 10:42 AM ToddAndMargo via perl6-users < perl6-us...@perl.org> wrote: > >> On Tue, Jul 6, 2021 at 9:39 AM ToddAndMargo via perl6-users > >> I am confused. > >> > >> What I am after it pre-salting $CC.I with > >> $CC.[0] = "abc" > >> $CC.[1] = "def" > >> > >> with the ".new" functions when I create $CC > >> > >> -T > > On 7/6/21 12:52 AM, Fernando Santagata wrote: > > Hello, > > > > I think that that was exactly what Norman was trying to show. Probably > > you've been mislead by the first value they assigned in their example: > > > > my $CC = AA.new( I => [Str,"abc"] ); > > > > > > Here the 'Str' is the "empty" or "undefined" value, since the array was > > declared as a Str array. > > > > Try this: > > > > > class AA { has Str @.I is rw } > > (AA) > > > my $aa = AA.new: I => ['a','b'] > > AA.new(I => Array[Str].new("a", "b")) > > > say $aa.I[0] > > a > > > say $aa.I[1] > > b > > > > or this > > > > > my $bb = AA.new: I => 'a' > > AA.new(I => Array[Str].new("a")) > > > $bb.I[0] > > a > > > > Hi Fernando, > > Thank you! Now I understand the syntax better. > > $ p6 'class AA { has Str @.I is rw; }; > my $CC = AA.new( I => ["abc","def"] ); > say $CC.I[1];' > def > > > Follow up question. Since Raku allows me to assign > elements to an array in non sequential order: > > $ p6 'my @x; @x[4]=44; say @x;' > [(Any) (Any) (Any) (Any) 44] > > How to I modify > my $CC = AA.new( I => ["abc","def"] ); > such that I can place values in non sequential order? > > For example, I wanted to pre-salt > $CC.I[4] = "four" > $CC.I[2] = "two" > > Many thanks, > -T > > > > > -- Fernando Santagata