f({bool b, String s}) {
  assert(b ? s != null : true);
}

Existe-t-il une meilleure façon d'écrire le assert ci-dessus en fonction de la condition ?

0
iDecode 17 nov. 2020 à 09:01

1 réponse

Meilleure réponse

Vous pouvez toujours réécrire une expression conditionnelle booléenne (?-:) où une branche est un littéral booléen, en une combinaison de ||, && et !.

| Bad conditional | Good and/or |
|-----------------|-------------|
|  b ? true : v   |  b || v     |
|  b ? false : v  |  !b && v    |
|  b ? v : true   |  !b || v    |
|  b ? v : false  |  b && v     |

Donc, dans votre cas : assert(!b || s != null);

3
lrn 17 nov. 2020 à 11:52