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

for


       Перебирая массив, стрелочкой мы можем направить текущее значение в какой-нибудь скаляр.
    
#!/usr/bin/perl6
my @sing=<hortus horte horti horto hortum horto>;
for @sing -> $verb {
	$verb.say
	}
hortus
horte
horti
horto
hortum
horto

       Если без стрелочки, то текущее значение направляется в $_:
    
#!/usr/bin/perl6
my @sing=<hortus horte horti horto hortum horto>;
for @sing {
	$_.say
	}
hortus
horte
horti
horto
hortum
horto

       Ладно. А работает ли foreach? Оказывается, что его теперь нет. Вместо него for.
# mutatio postrema: 13 Aug 2010


       Теперь для перебора элементов массива с присвоением значения какой-то переменной служит конструкция со стрелочкой ->
    
#!/usr/bin/perl6
my @list=<aqua aquae aquae aquarum aquae aquis aquam aquas aqua aquis>;
for @list -> $verb {$verb.say}
aqua
aquae
aquae
aquarum
aquae
aquis
aquam
aquas
aqua
aquis

       Имеем склонение aqua по падежам. Но тут чередуется единственное число с множественным. Для удобства можно выбирать сразу по два слова.
    
#!/usr/bin/perl6
my @list=<aqua aquae aquae aquarum aquae aquis aquam aquas aqua aquis>;
for @list -> $sing,$plur {"$sing $plur".say}
aqua aquae
aquae aquarum
aquae aquis
aquam aquas
aqua aquis

       Очень удобно. Можно выбирать по три или по большему числу элементов.
# mutatio postrema: 31 Aug 2010


       А что делает for %hash ?
    
#!/usr/bin/perl6
my %hash=<perdo гублю amo люблю audio слушаю>;
for %hash {.say}
"perdo" => "гублю"
"amo" => "люблю"
"audio" => "слушаю"

       Не очень понятно.
    
#!/usr/bin/perl6
my %hash=<perdo гублю amo люблю audio слушаю>;
for %hash {.key.say}
'---------'.say;
for %hash {.value.say}
perdo
amo
audio
---------
гублю
люблю
слушаю

       Sic. Следственный эксперимент показал, что for %hash перебирает элементы хэша, возвращая пары "ключ - значение". Эту пару можно распечатать. А можно отдельно из пары извлечь объект-ключ и объект-значение. Интересно, а что можно ещё делать с парами как таковыми?
# mutatio postrema: 8 Sep 2010

   элемент хэша, пара объектов, for, key, value      charta situs       nota XI, nota XXXIX, nota LI   

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