• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
prośba o wyjaśnienie (right_cmd>0)? right_fwd : !right_fwd
#1
Cześć!!!
Może mi ktoś z kolegów wyjaśnić działanie funkcji  ?
Kod:
const bool left_fwd = false;
const bool right_fwd = true;


bool right_dir = (right_cmd>0)? right_fwd : !right_fwd;
bool left_dir = (left_cmd>0)? left_fwd : !left_fwd;
co znaczy ? i  co robi
Kod:
right_fwd : !right_fwd

pozdrawiam !!
 
Odpowiedź
#2
Liczy się całość

(left_cmd>0)? left_fwd : !left_fwd - operator warunkowy
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#3
To takie skrócone if/else składające się z ? i : .
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#4
if (left_cmd>0){
bool left_dir = left_cmd;
}
else{
left_fwd : !left_fwd
}

????????
 
Odpowiedź
#5
(12-02-2023, 10:11)robo1973 napisał(a): if (left_cmd>0){
bool left_dir = left_cmd;
}
else{
left_fwd : !left_fwd
}

????????
Poczytaj sobie https://pl.wikibooks.org/wiki/C/Operatory
Hasło Operator wyrażenia warunkowego    a ? b : c
I o !-negacja
 
Odpowiedź
#6
if (left_cmd>0){
left_dir = left_fwd;
}
else{
left_dir =! left_fwd;
}


zmienna = warunek ? wyrażenie1 : wyrażenie2;
daje taki sam rezultat, co

if (warunek)
zmienna = wyrażenie1
else
zmienna = ! wyrażenie2;
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#7
dziękuję Takie zapisu nie znałem Pozdrawiam !!
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości