[Arduino] Referencia: Condicionales

condition ? true : false;

A==5 ? dispara(): espera(); // Si A vale 5 se ejecuta dispara(), si no espera()

Ventajas e inconvenientes del operador condicional ternario. En la siguiente tabla resumimos las ventajas e inconvenientes del operador condicional ternario comparándolo con el if tradicional.

Condicional ternario If tradicional
Permite la escritura compacta, permitiendo ahorrar escritura de código. Obliga a escribir más sentencias para conseguir el mismo resultado.
Resulta más difícil de leer, entender y depurar Resulta más fácil de leer, entender y depurar
No todos los programadores lo usan, algunos ni siquiera lo conocen. Todos los programadores lo usan y lo conocen.
Se admite en la sintaxis de los lenguajes en lugares donde no se admite la sentencia if No es válido en ciertas ubicaciones donde sólo se admiten expresiones, pero puede hacerse la evaluación antes del punto donde sea necesario el condicional.
Criticado por algunos expertos, adorado por otros Uso y aceptación cuasi-universal
if (variable < 10) {
   // accion A, se ejecuta si variable es menor de 10
}

if (variable < 10) {
   // accion A, se ejecuta si variable es menor de 10
} else {
   // accion B, se ejecuta si variable es mayor o igual a 10
}

if (variable < 10) {
   // accion A, se ejecuta si variable es menor de 10
} else if (variable >= 100) {
   // accion B, se ejecuta si variable es mayor o igual a 100
} else {
   // accion C, se ejecuta si variable es mayor o igual a 10 y menor de 100
}
switch (variable) {
   case 1:
      // accion A, se ejecuta si variable vale 1
      break;
   case 2:
      // accion B, se ejecuta si variable vale 2
      break;
   default:
      // caso por defecto (opcional), se ejecuta en cualquier otro caso
}
switch (variable) {
   case 1:
   case 2:
      // accion A, se ejecuta si variable vale 1 o 2
      break;
   case 3:
      // accion B, se ejecuta si variable vale 3
      break;
   default:
      // caso por defecto (opcional), se ejecuta en cualquier otro caso
}
  • doc/tec/elo/uc_arduino/arduino_c/condiciones.txt
  • Última modificación: 2024/03/18 11:58
  • por euloxio