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

хэши


       Если мы вызовем %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
festum
uva
crapula
vinum

       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

   :, >>, хэши, пара объектов      charta situs       nota LIII, nota LXXX   

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