Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Помогите расшифровать


Автор: burakov 6.5.2011, 20:41
Помогите пожалуйста понять, что написано

Код

my $cnt = @urls > $max_connects ? $max_connects : @urls;


что означает знак ? и знак :

Автор: arcsupport 6.5.2011, 21:18
?: - это тернарная операция.

Добавлено через 1 минуту и 22 секунды
Если значение условного выражения @urls > $max_connects -- истина,
то переменной $cnt присваивается значение $max_connects,
иначе переменной $cnt присваивается значение @urls.

Автор: shamber 7.5.2011, 10:15
замена  if

Автор: arcsupport 7.5.2011, 16:39
shamber, вы не совсем правы. Это не замена if.
if - оператор, не возвращает значения, не может являться частью выражения.
?: - операция, возвращает значение, может являться частью выражения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)