Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Для любознательных: условный (тернарный) оператор Objective-C

0

Конструкции   if/else довольно   часто   используются   для   присваивания   значения переменным. Возьмем для примера следующий код:

int minutesPerPound; if (isBoneless) minutesPerPound = 15;

else

minutesPerPound = 20;

Каждый раз, когда значение присваивается переменной в зависимости от некоторого условия, знайте, что у вас имеется возможный кандидат для применения условного оператора ?. (его также часто называют тернарным оператором).

int minutesPerPound = isBoneless ? 15 : 20;

Эта строка эквивалентна всему предыдущему фрагменту. Вместо if и else достаточно написать единственную команду присваивания. Часть перед ? – проверяемое: условие, а значения после ? – альтернативы для истинного и ложного результата проверки.

Если   эта   запись   кажется   вам   странной,   ничто   не   мешает   продолжать

пользоваться if и else. Полагаю, что со временем вы оцените тернарный оператор как компактную и точную запись для условного присваивания значений. И что еще важнее – вы увидите. как он используется другими программистами, и сможете понять увиденное!

Упражнение

Имеется следующий фрагмент кода:

int i =20;

int i =25;

int k = ( i > j ) ? 10 : 5;

if (5 < j -­‐k){// первое выражение

рrintf ("The first ехрression is true. ") ;

} else if ( j > i ) { // второе выражение

рrintf ("The second ехрression is true. ") ;

}else {

printf("Neither expression is true.");

}

Что будет выведено на консоль?

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии