
nota LXI. Тильда с листом
Мы уже использовали тильду в целях конкатенации.| | #!/usr/bin/perl6
my $abc='кон' ~ 'ка' ~ 'тенация';
$abc.say; | | конкатенация |
Оказывается, тильду можно применять и на массивах и списках.| | #!/usr/bin/perl6
say <ко нка тена ция>;
say ~<ко нка тена ция>;
my @mass=<ко нка тена ция>;
say @mass;
say ~@mass; | | ко нка тена ция
ко нка тена ция
ко нка тена ция
ко нка тена ция |
То есть тильда-лист возвращает один скаляр, склеивая элементы массива через пробел?| | #!/usr/bin/perl6
my @mass=<ко нка тена ция>;
@mass=@mass.sort;
# my $out=~@mass; # так нельзя. =~ приводит к ошибке "вы не в perl 5"
my $out=(~@mass);
$out.say; | | ко нка тена ция |
Sic. Очевидно, можно склеивать таким образом скаляры и листы.| | #!/usr/bin/perl6
my @mass=<ко нка тена ция>;
my $text='наш путь - ' ~ @mass;
$text.say; | | наш путь - ко нка тена ция |
Si sic?| | #!/usr/bin/perl6
my @mass=<ко нка тена ция>;
~@mass.say;
(~@mass).say; | | ко нка тена ция
ко нка тена ция |
Неопознанное явление. Видимо, в первом случае это равносильно ~(@mass.say). N.B. Тильда нередко требует скобок. # mutatio postrema: 16 Sep 2010
|