
дизайн
Вроде бы вполне полезная вещь, эта unspace, то есть экранирование пробельных символов:
| | #!/usr/bin/perl6
my %hash;
# %hash {'abc'}=123; # non licet
%hash\ {'abc'}=123;
%hash{'abc'}.say;
%hash\ {'abc'}=123;
%hash{'abc'}.say;
%hash\ {'abc'}=123;
%hash{'abc'}.say; | | 123
123
123 |
Это вполне можно использовать для такого вот дизайна:| | #!/usr/bin/perl6
my %hash;
%hash\ {'abc'}=123 ;
%hash\ {'abc'}.say ;
%hash\ {'def'}=456 ;
%hash\ {'def'}.say ; | | 123
456 |
Кстати сказать, пробелы внутри скобок значения не имеют. Поэтому можно использовать такой вот дизайн:| | #!/usr/bin/perl6
my %hash;
%hash{ 'abc' }= 123 ;
%hash{ 'def' }= 456 ;
%hash».say; | | 123
456 |
Как и следовало ожидать, бэкслэш внутри одинарных кавычек остается бэкслешем. Внутри двойных кавычек он экранирует один пробел, то есть оставляет его самим собой:| | #!/usr/bin/perl6
my %hash;
%hash{'\ abc\ '}=123;
%hash{'\ def\ '}=456;
%hash».say;
my %хэш;
%хэш{"\ abc\ "}=123;
%хэш{"\ def\ "}=456;
%хэш».say; | | 123
456
456
123 |
Где-нибудь это может пригодиться. В пятом перле можно было писать непосредственно с пробелом: '$abc {1}'. Nunc non licet. # mutatio postrema: 16 Sep 2011
Другой полезный способ употребления unspace - разбивка строки на несколько.
| | #!/usr/bin/perl6
my @list=<parvo est natura contenta>;
@list.sort\ # это удобно для разбивки длинных строк
.join(' ... ').say; # и обильных комментариев | | contenta ... est ... natura ... parvo |
Заодно попробовали старый добрый join. Можно конечно просто разбить длинную строку, без комментариев:| | #!/usr/bin/perl6
my @list=<parvo est natura contenta>;
@list.sort\
.reverse\
.join("\n").say; | | parvo
natura
est
contenta |
Ну что же, bene est. # mutatio postrema: 26 Sep 2011
|