
хэши
Если мы вызовем %hash.say, то получим так:
| | #!/usr/bin/perl6
my %hash=<виноград uva вино vinum праздник festum похмелье crapula здоровье valetudo>;
%hash.say; | | ("виноград" => "uva", "вино" => "vinum", "праздник" => "festum", "похмелье" => "crapula", "здоровье" => "valetudo").hash |
А если добавить к %hash символ », тогда:| | #!/usr/bin/perl6
my %hash=<виноград uva вино vinum праздник festum похмелье crapula здоровье valetudo>;
%hash».say; | | valetudo
vinum
uva
festum
crapula |
Juvat. # mutatio postrema: 30 Jan 2012
Предположим, что на каком-то этапе нам захотелось организовать несколько переменных в одну кучу (в один хэш), например, для того, чтобы сохранить далее структуру данных. Из переменной $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
|