Go Down

Topic: istruzione sconosciuta (Read 755 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