2015-03-03 6 views

ответ

6

Пусть A = someTrueOrFalse и B = OthersomeTrueOrFalse

A | B | outcome 
----------------- 
0 | 0 | 1 
0 | 1 | 1 
1 | 0 | 0 
1 | 1 | 1 

Следовательно:

if (!(someTrueOrFalse && !OthersomeTrueOrFalse)) { 
    someFunction(1); 
} 

или, что то же самое, как и прокомментированы @axiac

if (!someTrueOrFalse || OthersomeTrueOrFalse) { 
    someFunction(1); 
} 

Это де что ситуация выглядит лучше, я думаю (или иногда это просто вопрос вкуса).

+0

Это то же самое, что и 'if (! SomeTrueOrFalse || OthersomeTrueOrFalse)', что легче понять. – axiac

+0

Подход @axiac-ответа выглядит мне понятным: Theres только одна ситуационная функция не должна запускаться: 3-я. Поэтому каждый случай, помимо третьего, запускает его. Вы похожи на эти 3 случая: (1,2 и 4), а затем вы их описываете. – Sharky

+0

@axiac спасибо, добавил к ответу, хотя мое намерение для этого ответа состояло в том, чтобы показать, как это делается с таблицей правды. –

Смежные вопросы