Question

Quelqu'un at-il une bonne astuce pour se rappeler la syntaxe standard ternaire?

Précisément si le '?' ou ':' vient en premier. J'ai toujours eu cette régression au fil des ans.

Était-ce utile?

La solution

La condition que vous vérifiez ressemble à une question, donc le point d'interrogation vient en premier.

x > 0 ? 1 : 0

Considérez cette affirmation comme trois phrases en anglais: "x est-il supérieur à 0?" Alors 1. Sinon, 0. " Vous avez une phrase pour chaque clause de la déclaration.

Le prédicat:

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

Le " vrai " branche:

1 /* Then 1. */

Le " faux " branche:

: 0 /* Else, 0. */

Autres conseils

Pour ce qui est de savoir quel symbole vient en premier, je pense simplement au fait que la première partie est une question, "Est-ce vrai ou non?", le point d'interrogation commence donc.

Je pense à la syntaxe de cette manière

Question ? Yes : No

en python, je le lis comme une phrase anglaise normale:

 a equals b if condition is true else c

Pensez-y de cette façon: une déclaration ternaire comprend trois parties: la question, le code à exécuter si la réponse à la question est "oui". et le code si la réponse est "non". Le "? & Quot; vient après la question comme dans les phrases anglaises.

"? " est un point d'interrogation, cela signifie donc "si".

Un signe deux-points signifie "maintenant, il vient" puis "faire".

La bonne chose à propos de l’opérateur ternaire est que vous n’êtes pas obligé de l’utiliser, surtout si vous avez des problèmes pour vous rappeler la syntaxe. Utilisez simplement une instruction if qui est plus lisible la plupart du temps.

Et non - le ternaire n'a pas de meilleure performance qu'un if-statement.

Cela ressemble à ceci:

myVariable = this.testMethod() ? 'value for true case' : 'value for false case'

Si vos tests unitaires réussissent toujours lorsque vous vous trompez, cela n'a pas d'importance ou vos tests ne couvrent pas suffisamment le chemin d'accès au code. Si l'écart entre la saisie et l'obtention d'un test réussi / échec est trop long, c'est un autre problème. Très peu de détails syntaxiques importent peu en présence de bons tests rapides.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top