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

nota LVII. Сравнение объектов


       Можно сравнивать объекты с помощью оператора ===
    
#!/usr/bin/perl6
my $a='abc'; my $b='abc';
say $a === $b;
say $a === 'abc';
say 'abc' === $b;
say 'abc' === 'abc';
'-----'.say;
my @a=1,2,3;
my @b=1,2,3;
say @a === @b;
say @a === @a;
say @a === (1,2,3);
'-----'.say;
my $num='7';
say $num === '7';
say $num === 7;
True
True
True
True
-----
False
True
False
-----
True
False

       Как написано в "Using perl 6", два объекта считаются одинаковыми, если у них одинаковый тип и одинаковая структура. Как я понял, $a равно $b потому, что обе они содержат одинаковый объект 'abc', а @a не равно @b потому, что массивы состоят сами из объектов, и эти объекты номинально разные, хотя их содержание одинаково.
       Даже не знаю...
# mutatio postrema: 8 Sep 2010

   ===      charta situs       nota LVI <<     >> nota LVIII   

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