perl6.suОсвоим perl6 к 2015 году!

дизайн


       Вроде бы вполне полезная вещь, эта 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;
456
123

       Как и следовало ожидать, бэкслэш внутри одинарных кавычек остается бэкслешем. Внутри двойных кавычек он экранирует один пробел, то есть оставляет его самим собой:
    
#!/usr/bin/perl6
my %hash;
%hash{'\           abc\        '}=123;
%hash{'\           def\        '}=456;
%hash».say;
my %хэш;
%хэш{"\           abc\        "}=123;
%хэш{"\           def\        "}=456;
%хэш».say;
456
123
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

   комментарии, дизайн, join, reverse, sort      charta situs       nota LXXXVII, nota LXXXVIII   

    RSS     stdin@perl6.su    © Alexius Karmanov, 2010-2011