Страницы

Поиск по вопросам

понедельник, 20 мая 2019 г.

Тернарный оператор вместо конструкции if-else

Можно ли улучшить(упростить) данную конструкцию тернарным оператором?
if (isLeftLetter && isRightLetter) { swap(chars, leftElementIndex, rightElementIndex); leftElementIndex++; rightElementIndex--;
} else { if (!isLeftLetter) { leftElementIndex++; }
if (!isRightLetter) { rightElementIndex--; } }


Ответ

Я бы написал так:
if (isLeftLetter && isRightLetter) { swap(chars, leftElementIndex, rightElementIndex); leftElementIndex++; rightElementIndex--;
} else { leftElementIndex=(!isLeftLetter) ? leftElementIndex+1 : leftElementIdex; rightElementIndex=(!isRightLetter) ? rightElementIndex+1 : rightElementIdex; }
Update
Тернарный оператор удобно использовать для однострочных присвоений, а ля:
var=(condition) ? expression1 : expression2;
в остальных вариантах, я лично не рекомендую (верю, что некоторые не согласятся)

Комментариев нет:

Отправить комментарий