Go Down

Topic: istruzione sconosciuta (Read 770 times) previous topic - next topic

adcarang


Salve a tutti
Sono nuovo per Arduino,ma non proprio a digiuno di nozioni informatiche ne elettroniche.
Guardando qualche tutorial in giro sul web , aspettando che mi arrivi il mio primo Arduino UNO ,sono incappato in   una riga di codice cosi strutturata

     (code[5]==checksum) ? check = true : check = false ; 

dove
    boolean check;
    byte code[6];
    byte checksum;


credevo che fosse un forma abbreviata di IF ma ho fatto delle prove con un simulatore e no mi sembra,
qualcuno sa aiutarmi ?  grazie .



leo72



Salve a tutti
Sono nuovo per Arduino,ma non proprio a digiuno di nozioni informatiche ne elettroniche.
Guardando qualche tutorial in giro sul web , aspettando che mi arrivi il mio primo Arduino UNO ,sono incappato in   una riga di codice cosi strutturata

     (code[5]==checksum) ? check = true : check = false ; 

dove
    boolean check;
    byte code[6];
    byte checksum;


credevo che fosse un forma abbreviata di IF ma ho fatto delle prove con un simulatore e no mi sembra,
qualcuno sa aiutarmi ?  grazie .




E' un if condizionale abbreviato.
E' l'equivalente di
Code: [Select]

if (code[5]==checksum) {
  check = true;
} else {
  check = false;
}

adcarang

ok grazie o ricontrollato con il simulatore ed è proprio cosi

PaoloP

Si tratta di un operatore ternario --> http://www.html.it/pag/15404/controlli-condizionali-switch-e-operatori-ternari/

Quel codice potresti trovarlo anche scritto così:
Code: [Select]
check = (code[5]==checksum) ? true : false ;

adcarang

ok PaoloP ho dato un occhiata al tuo link,  ed è stato molto utile. ciao

erpomata

Se proprio vogliamo dirla tutta basterebbe scrivere:

check = (code[5]==checksum);
http://www.paologiammarco.it
http://www.valentinamagni.it

niki77

Nel caso di semplice booleano si, ma l'operatore ternario può essere usato anche per restituire dati più complessi, o addirittura altre condizioni annidiate.
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

erpomata

Si certo ma se il caso è questo....
http://www.paologiammarco.it
http://www.valentinamagni.it

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy