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

nota XLIX. Квадратные скобки


       Поистине магической силой обладает пара квадратных скобок. Какой в perl 6 самый быстрый способ посчитать сумму m + m+1 + m+2 ... + n? Очевидно, такой:
    
#!/usr/bin/perl6
my ($m,$n)=(1000,2000);
say [+] $m .. $n;
1501500

       В квадратных скобках может быть любой инфиксный оператор. Например <=. И это может быть иногда полезным.
    
#!/usr/bin/perl6
my @list=<1 5 7 11 13 29 111 118>;
say [<=] @list;
# 1 <= 5 <= 7 <= 11 <= 13 <= 29 <= 111 <= 118
@list=<1 5 7 11 29 13 111 118>;
say [<=] @list;
True
False

       В первом случае последовательность восходящая. Во втором - не совсем. Это можно использовать для проверки последовательностей.
       Аналогично можно проверить расположены ли какие-то слова по алфавиту или нет.
    
#!/usr/bin/perl6
my @list=<aeque capra coma constantia fulmen>;
say [le] @list; # le - аналог <= для букв
@list=<aeque coma capra constantia fulmen>;
say [le] @list;
True
False

       Можно придумать, наверное, и другие полезные применения квадратных скобок.
# mutatio postrema: 8 Sep 2010

   []      charta situs       nota XLVIII <<     >> nota L   

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