OVH Cloud OVH Cloud

Opérateur ternaire, indenter ?

33 réponses
Avatar
Pierre Maurette
Bonjour,

J'infidélise actuellement pas mal du coté de Php et Java. Je me rends
compte à cette occasion de l'intérêt de l'opérateur ternaire, qui est
peut-être mal vendu en C.
On peut le trouver peu lisible, mais il suffit de s'y mettre et
l'investissement est rentable, vu qu'il a la même syntaxe et le même
comportement en C, C++, Php, Java et quelques autres "C inspired" sans
doute.

Ce que j'apprécie, c'est qu'il s'agit d'un *opérateur*, avec les
possibilités qu'offre l'évaluation économique garantie.

C'est sur le style que j'aimeerais avoir des avis. J'ai lu ici que
certain guru préférait développer en plusieurs lignes.
A partir de cette expression:

running_ = status == 0 ? false : status == 1 ? true : !running_;

je peux faire:

running_ = (status == 0) ? false : (status == 1) ? true : !running_;
(parenthésage sytématique des conditions)

ou (ma préférée peut-être)
running_ = (status == 0 ? false : (status == 1 ? true : !running_));
(parenthésage sytématique de l'opérateur ternaire)

ou les deux:
running_ = ((status == 0) ? false : ((status == 1) ? true :
!running_));

Sur plusieurs lignes, par exemple:
running_ = status == 0 ?
false
:
status == 1 ?
true
:
!running_
;

Je n'aime pas trop la présentation sur plusieurs lignes, au motif
qu'elle masque l'aspect opérateur et donne l'idée d'une instruction de
contrôle de flux.

Des avis ? Merci d'avance ....

--
Pierre Maurette

3 réponses

1 2 3 4
Avatar
Charlie Gordon
"Stephane Legras-Decussy" wrote in message
news:445e77b9$0$27293$

"Pierre Maurette" a écrit dans le message de
news:
En fait, il ne s'agissait pas du tout d'un problème de vue et nous le
savons tous les deux. Mais surtout je n'aurais rien relevé sans "A trop
forcer le trait, on se décrédibilise...".


je propose une real-TV avec Pierre et ED enfermé
dans un cube pendant 72h avec un BigMac et un PC
pour deux... :-)


Et une femme pour faire des enfants ?

Chqrlie.


Avatar
Pierre Maurette
"Pierre Maurette" a écrit dans le message de
news:
En fait, il ne s'agissait pas du tout d'un problème de vue et nous le
savons tous les deux. Mais surtout je n'aurais rien relevé sans "A trop
forcer le trait, on se décrédibilise...".


je propose une real-TV avec Pierre et ED enfermé
dans un cube pendant 72h avec un BigMac et un PC
pour deux... :-)


Je prends le BigMac

--
Pierre Maurette


Avatar
Michel Billaud
Emmanuel Delahaye writes:
<présentation opérateurs ternaires>

Sur plusieurs lignes, par exemple:
running_ = status == 0 ?
false
:
status == 1 ?
true
:
!running_
;


A trop forcer le trait, on se décrédibilise...

running_ = status == 0
? false
: status == 1
? true
: !running_;


running_ = status == 0 ? false
: status == 1 ? true
: /* else */ !running_;

MB

--
Michel BILLAUD
LABRI-Université Bordeaux I tel 05 4000 6922 / 05 5684 5792
351, cours de la Libération http://www.labri.fr/~billaud
33405 Talence (FRANCE)


1 2 3 4