Запоминание синтаксиса тернарного оператора

первый метод довольно в порядке. можно создать UDF, который извлекает желаемые данные, и просто назовите это.

6
задан Matthew Rapati 15 September 2009 в 17:56
поделиться

7 ответов

Условие, которое вы проверяете, похоже на вопрос, поэтому сначала стоит вопросительный знак.

x > 0 ? 1 : 0

Думайте об этом утверждении как о трех предложениях на английском языке: «Является ли x больше 0? Тогда 1 . Иначе, 0. " У вас есть одно предложение для каждого предложения в утверждении.

Предикат:

x > 0 ? /* Is x greater than 0? */

«Истинная» ветвь:

1 /* Then 1. */

«Ложная» ветвь:

: 0 /* Else, 0. */
21
ответ дан 8 December 2019 в 03:27
поделиться

Что касается запоминания того, какой символ стоит первым, я просто подумайте о том, что первая часть - это вопрос: «Верно это или нет?», поэтому вопросительный знак стоит первым.

Я думаю о синтаксисе таким образом

Question ? Yes : No
9
ответ дан 8 December 2019 в 03:27
поделиться

в python я прочитал это как обычное английское предложение:

 a equals b if condition is true else c
0
ответ дан 8 December 2019 в 03:27
поделиться

"?" - это вопросительный знак, поэтому он означает «если».

Двоеточие означает «сейчас приходит», «затем делать».

Хорошая вещь в тернарном операторе заключается в том, что вы не обязаны его использовать, особенно если у вас проблемы с запоминанием синтаксиса. Просто используйте оператор if, который в большинстве случаев удобнее читать.

И нет - тернарный оператор не имеет лучшей производительности, чем оператор if.

0
ответ дан 8 December 2019 в 03:27
поделиться

Подумайте об этом так: троичное утверждение состоит из трех частей: вопрос, код для выполнения, если ответ на вопрос «да», и код, если ответ «нет». Знак "?" идет после вопроса, как и в предложениях на английском языке.

0
ответ дан 8 December 2019 в 03:27
поделиться

Это идет вот так:

myVariable = this.testMethod() ? 'value for true case' : 'value for false case'
0
ответ дан 8 December 2019 в 03:27
поделиться

Если ваши модульные тесты все еще проходят, когда вы ошиблись, то либо это не имеет значения, либо ваши тесты не подходят Не покрываю достаточно путей через код. Если между его вводом и получением теста «прошел / не прошел» слишком большой промежуток времени, это еще одна проблема. При наличии хороших быстрых тестов очень мало маленьких синтаксических гадостей.

-1
ответ дан 8 December 2019 в 03:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: