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

элемент хэша


       Prius для обращения к элементу массива требовалось обозначать оный как $list[5]. То есть знак доллара указывал на то, что отдельный элемент массива это скаляр. Сейчас вместо доллара собака:
    
#!/usr/bin/perl6
my @list=<perl1 perl2 perl3 perl4 perl5 perl6>;
@list[5].say;
"@list[5].su - сайт про perl6".say;
perl6
perl6.su - сайт про perl6

       Bene. То же имеем и с хэшами. Вместо $hash{'homo'} имеем %hash{'homo'}
    
#!/usr/bin/perl6
my %hash;
%hash{'homo'}='Larry Wall';
%hash{'opus'}='Perl';
"%hash{'homo'} - vitae opus %hash{'opus'} est".say;
Larry Wall - vitae opus Perl est

       Bene.
# mutatio postrema: 8 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


       Допустим, нам надо получить некую подвыборку из хэша по определенным ключам.
    
#!/usr/bin/perl6
my %hash=<a А b Б c В d Г e Д f Е g Ё h Ж i З j И k Й l К>;
%hash<a b c>».say;
В
А
Б

       Здесь понятно.
# mutatio postrema: 8 Sep 2010

   < ... >, >>, элемент массива, элемент хэша, пара объектов, for, key, value      charta situs       nota IV, nota LI, nota LV   

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