Я думаю, что эта линия:Perl - Что делает этот поступок?
my $last = $last_game ? 1 : 0;
ли назначение 1
к $last
если $last_game
является true
иначе $last
получает 0
. Я прав?
Благодаря
Я думаю, что эта линия:Perl - Что делает этот поступок?
my $last = $last_game ? 1 : 0;
ли назначение 1
к $last
если $last_game
является true
иначе $last
получает 0
. Я прав?
Благодаря
Да, вы правы, это тройной условный оператор.
От perldoc:
троичной «:» это условный оператор, так же, как в C. Он работает очень как если-то-иначе. Если аргумент перед? true, возвращается аргумент перед:: в противном случае возвращается аргумент после:. Например:
printf "I have %d dog%s.\n", $n,
($n == 1) ? "" : "s";
Это ternary Conditional operator. Он работает как
COND? ТОГДА: ELSE
Если условие COND верно, только ТОГДА выражение вычисляется, и значение этого выражения становится значением всего выражения. В противном случае оценивается только выражение ELSE, и его значение становится значением всего выражения.
Да, правильно, почему вы его не пытаетесь, кстати, вы присваиваете просто целые числа, а не строку '1' not' '1'' –
Хотя, если вам интересно назначить '0,1', вы могли бы просто do like: 'my $ last = $ last_game || 0; ' –
Этот вопрос не соответствует теме, потому что это тривиально. ДА | НЕТ вопроса. –