
элемент хэша
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
|