例如,在这种情况下:
my @list = (2,) but "bar";
put @list.Str «2?»
Run Code Online (Sandbox Code Playgroud)
似乎没有办法访问“bar”组件。我错过了什么吗?同样会发生,例如,Set
my @list = (2,3) but Set(4,5);
put @list.Set; # OUTPUT: «3 2?»
Run Code Online (Sandbox Code Playgroud)
赋值是一个复制操作,所以:
my @a = something;
Run Code Online (Sandbox Code Playgroud)
创建一个Arrayin @a,迭代something并将每个元素存储在 中@a。如果改为使用绑定:
my @list := (2,) but "bar";
put @list.Str;
Run Code Online (Sandbox Code Playgroud)
然后将带有 mixin 的列表绑定到符号@list,输出为:
bar
Run Code Online (Sandbox Code Playgroud)