Perl6: первый элемент массива помещается в строку, второй не помещается в строку - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь создать новую строку из элементов массива следующим образом:

my $truth = "s3://dir/@d[$d1]/$plate/@d[$d1].$plate.delta";

, но проблема в том, что это дает

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

, когда этодолжен дать

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

Почему этот элемент массива @d[0] не интерполируется в строку $truth?Как я могу получить это?

1 Ответ

0 голосов
/ 02 марта 2019

Не уверен насчет причины (вероятно, $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";

Вывод:

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