Короткий синтаксис IF ELSE в задаче C - PullRequest
33 голосов
/ 21 марта 2012

Существует ли краткий синтаксис для оператора if-else в цели C, например PHP:

if($value)
return 1;
else
return 0;

более короткая версия:

return $value?1:0;

Ответы [ 3 ]

110 голосов
/ 21 марта 2012

Да.

Пример (псевдо):

value = (expression) ? (if true) : (if false);

На основе вашего примера (действительный код):

BOOL result = value ? YES : NO; 
13 голосов
/ 21 марта 2012

Это абсолютно одинаково на обоих языках, за исключением того, что вы обычно не находите $ знаков в именах переменных Objective-C.

if(value)
return 1;
else
return 0;
return value?1:0;

Вы должны такжеимейте в виду, что условный оператор ?: не является сокращением для оператора if-else, а скорее сокращением для выражения «истинное против ложного».См. руководство по PHP .

1 голос
/ 01 сентября 2014

Удивлен, что никто не предложил следующее:

  • Длинная версия:

    if(value)
        return 1;
    else
        return 0;
    
  • Уменьшенная версия:

    return value;
    

А если value не является переменной bool, просто приведите ее: return (BOOL)value;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...