
пара объектов
А что делает 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
Предположим, что на каком-то этапе нам захотелось организовать несколько переменных в одну кучу (в один хэш), например, для того, чтобы сохранить далее структуру данных. Из переменной $age мы формируем запись в хэше age=>18 etc.
| | #!/usr/bin/perl6
my ($age,$name,$country)=(18,'Bob','USA');
my @toys=<doll railroad sims3>;
my %parents=<mother Lisa father John>;
# теперь всё это добро надо записать в хэш
my %hash=:$age, :$name, :$country, :@toys, :%parents;
# что же у нас получилось?
for %hash.keys {
"$_ = %hash{$_}".say;
'-------'.say;
}
%hash{'parents'}{'mother'}.say; # убеждаемся, что хэш | | age = 18
-------
name = Bob
-------
country = USA
-------
toys = doll railroad sims3
-------
parents = mother Lisa father John
-------
Lisa |
Запись ':переменная' превращает переменную в пару 'переменная => значение' :$var это var => $var :@var это var => @var :%var это var => %var # mutatio postrema: 22 Sep 2010
|