Cómo ver el código fuente del módulo erlang
Por ejemplo, una declaración condicional:
if(a>b) max=a;
else max= b;
Esto se puede escribir como una expresión condicional
max=(a>b)?a:b;
La semántica de ejecutar esta declaración es : si a>b Si es verdadero, asigne a al máximo; de lo contrario, asigne b al máximo.
Al utilizar expresiones condicionales, también debe prestar atención a los siguientes puntos:
1) La precedencia aritmética de los operadores condicionales es menor que la de los operadores relacionales y los operadores aritméticos, pero mayor que la de Asignación. .
Por lo tanto
max=(a>b)?a:b
se puede escribir sin corchetes
max=a>b ?a:b
2) Los operadores condicionales ? y: son un par de operadores y no se pueden utilizar por separado.
3) La dirección de combinación de los operadores condicionales es de derecha a izquierda.
Por ejemplo:
a>b?a:c>d?c:d
debe entenderse como
a> b? a:(c>d?c:d)
Este también es el caso de las expresiones condicionales anidadas, donde la expresión 3 también es una expresión condicional.