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

определенность скаляра


       Оператор // называется defined-or (определено или тогда одно из двух...) Попробуем:
    
#!/usr/bin/perl6
my $a;
my $b='bene';
my $c= $a // $b;
"\$c = $c".say;
my $d='dolus';
my $e;
my $f= $d // $e;
"\$f = $f".say;
$c = bene
$f = dolus

       Scilicet. В первом случае $a не определена, берется $b. Во втором случае $d определено, значит оно и берется. Понятно, что нулевое значение - тоже определенное.
    
#!/usr/bin/perl6
my $a=0;
my $b='bene';
my $c= $a // $b;
"\$c = $c".say;
$c = 0

       Этим и отличается // от ||.
       Я уже не помню, когда в последний раз приходилось проверять определенность переменных. Но всегда может пригодиться. Интересно, что как $a=$a+$b можно записать в виде $a+=$b, так и $a=$a//$b можно записать в виде: $a //= $b
    
#!/usr/bin/perl6
my $a;
my $b='baro';
$a //= $b;
"\$a = $a".say;
$a = baro

       Вот и хорошо.
# mutatio postrema: 24 Aug 2010

   определенность скаляра      charta situs       nota XIX   

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