Perl6:第一个数组元素放入字符串,第二个数组元素放入字符串

con*_*con 7 string-interpolation perl6

我正在尝试从数组元素创建一个新字符串:

my $truth = "s3://dir/@d[$d1]/$plate/@d[$d1].$plate.delta";
Run Code Online (Sandbox Code Playgroud)

但问题是这给了

s3://dir/pgr_9/1/@d[0].1.delta

什么时候应该给

s3://dir/pgr_9/1/pgr_9.1.delta

为什么这个数组元素不@d[0]插入字符串$truth?我怎么能得到它?

Eug*_*sky 8

不确定原因(可能$plate.delta被视为方法调用?),但在delta解决问题之前逃避点.

my $plate = 1;
my $d1 = 0;
my @d;
@d[0] = "pgr_9.1";

say "s3://dir/@d[$d1]/$plate/@d[$d1].$plate\.delta";
Run Code Online (Sandbox Code Playgroud)

输出:

s3://dir/pgr_9.1/1/pgr_9.1.1.delta
Run Code Online (Sandbox Code Playgroud)