64. Тернарный оператор в Perl 6

В Perl 6 по-прежнему присутствует тернарный оператор, но выглядит он теперь иначе:

my $var = -10;
my $abs = $var < 0 ?? -$var !! $var;
say $abs;

Остальное все понятно — оператор делает ровно то же, что и ? ! в Perl 5. Однако, при попытке написать по-старому, вы получите сообщение об ошибке:

$ perl6 ternary.pl 
===SORRY!=== Error while compiling /Users/ash/ternary.pl
Unsupported use of ? and : for the ternary conditional operator;
in Perl 6 please use ?? and !!
at /Users/ash/ternary.pl:2
------> my $abs = $var < 0 ?⏏ -$var : $var;

Интересно, что в самых первых реализациях Perl 6 тернарный оператор выглядел как ?? ::. На этот случай тоже предусмотрено сообщение:

$ perl6 ternary.pl 
===SORRY!=== Error while compiling /Users/ash/ternary.pl
Please use !! rather than ::
at /Users/ash/ternary.pl:2
------> my $abs = $var < 0 ?? -$var :⏏: $var;
 expecting any of:
 colon pair

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *