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

nota LII. Продолжаем восторгаться »


       » или >> очень хорош в плане разгрузки программы от циклов. Допустим, у нас есть массив, с каждым элементом которого надо проделать какие-то сложные вещи.
    
#!/usr/bin/perl6
my @list=<abc def ghi>;
@list».&double.say;
sub double($in) { # в субрутину заключаем "сложную вещь"
	return "$in $in ";
	}
abc abc  def def  ghi ghi 

       Теперь основная часть программы избавится от множества for {}
       Наша программа продублировала слова. say успешно вывела массив. И опять нас не устраивает, что всё в одну строку. Чуть подправим...
    
#!/usr/bin/perl6
my @list=<abc def ghi>;
@list».&double».say;
sub double($in) { # в субрутину заключаем "сложную вещь"
	return "$in $in ";
	}
ghi ghi 
abc abc 
def def 

       То есть после названия субрутины тоже можно ставить волшебный »
       Не знаю почему, но надо писать именно '&double' при вызове, а не 'double' (что приводит к ошибке "метод не найден").
# mutatio postrema: 8 Sep 2010

   массивы, >>, sub      charta situs       nota LI <<     >> nota LIII   

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