Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/03/2015, 12:59
Avatar de Germano6
Germano6
 
Fecha de Ingreso: mayo-2013
Mensajes: 61
Antigüedad: 11 años
Puntos: 0
Respuesta: ¿Qué significan estos símbolos aquí?

Cita:
Iniciado por Alexis88 Ver Mensaje
Desglosemos esa línea:

1. b*c: Es la multiplicación del valor de la variable b con el de la variable c.

2. (a=(2-b)*c): Primero, resta 2 con el valor de la variable b y lo multiplica por el valor de la variable c para finalmente asignarlo a la variable a.

3. ((a=(2-b)*c)<1?a:2-a): Estos son operadores ternarios, los cuales actúan así:
Código Javascript:
Ver original
  1. condición ? caso positivo : caso negativo
Es una manera de trabajar con condiciones en una sola línea, en lugar de usar la tradicional estructura if.
Entonces, si el valor de la variable a (que obtuvimos en el punto anterior) es menor a 1, se tomará el valor de la variable a, caso contrario, se tomará el valor resultante de la resta de 2 menos el valor de la variable a.

4. b*c/((a=(2-b)*c)<1?a:2-a): Al haber primero multiplicado a b por c y luego haber evaluado el valor de a, dividimos ambos resultados.

Eso es todo.

La manera extendida sería así:

Código Javascript:
Ver original
  1. var aux1 = b * c,
  2.     a = (2 - b) * c,
  3.     aux2, aux3;
  4.  
  5. if (a < 1){
  6.     aux2 = a;
  7. }
  8. else{
  9.     aux2 = 2 - a;
  10. }
  11.  
  12. aux3 = aux1 / aux2; //Esto es igual a: b*c/((a=(2-b)*c)<1?a:2-a)

Saludos
Vale gracias, creo que ya he entendido. Aunque no sabía que eso se pudiera hacer con las asignaciones.
__________________
Simple principiante. Déjame las cosas claras y no me preguntes.