Los Operadores son una parte esencial en cualquier lenguaje o pseudo-lenguaje orientado a la programación. A efectos prácticos, y simplificando bastante, podemos dividirlos en cuatro grupos: Lógicos, de Comparación, de Asignación y Matemáticos.
Para resumirlo y no entrar en definiciones confusas, los Operadores posibilitan que el lenguaje, en este caso Dynamo sea capaz de realizar operaciones con valores de entrada de distinto tipo y en distintos contextos dentro de la lógica de un programa.
A efectos de unificar conceptos, a lo largo de este capítulo utilizaremos diferentes colores al momento de referirnos a cada operador. Cada color indica el grado de integración con el que cuenta actualmente cada operador en Dynamo, como puede verse debajo:
Los operadores que veremos a continuación corresponden a la versión Alfa 0.0.1. Si bien, la manera de procesarlos puede llegar a modificarse, no es de esperar que sufran cambios relevantes con respecto a su uso y la función que cumplen dentro del lenguaje. Esto incluye a los Operadores integrados parcialmente y a los que se encuentran en desarrollo.
El orden de precedencia para todos los operadores comunes, se equipara al de la mayoría de los lenguajes.
Los Operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una serie de condiciones. Estas condiciones, también han de devolver valores booleanos o asimilables a ellos. Por ejemplo, una comparación no extrica en JavaScript entre los valores 0, '0' y false, devolverá true. La combinación de dos o más operadores lógicos se denomina una: función lógica. * Los operadores lógicos en Dynamo no cuentan con contrapartes literales como en otros lenguajes. Solamente su variante simbólica es admitida. Aunque de momento algunas puedan funcionar, dejarán de hacerlo en versiones tempranas del lenguaje..
El 'Y' lógico, evalúa dos o más segmentos de condiciones.
Solamente devuelve verdadero (true) si todas ellas se han cumplido. Basta que una falle para que el resultado sea false.
El 'O' lógico, evalúa dos o más segmentos de condiciones.
Devuelve verdadero (true) si al menos una de ellas se han cumplido. Basta que una sea vrdadera para que el resultado sea true.
El 'NOT' lógico, evalúa un segmento o bloque de condición (dependiendo del caso).
Devuelve true si el false es verdadro. En otras palabras y para no enredarnos. Invierte el sentido 'natural' de la condición.
El operador 'XOR' lógico se encuentra actualmente en proceso de integración. Una vez estandarizado en el lenguaje su función sera definir que una u otra condición en una función lógica se cumpla, pero no ambas. Por ejemplo: si una condición devuelve true y la otra false, entonces 'XOR' devuelve true. Si ambas condiciones fueran true o false, entonces 'XOR' devolverá false.
Los Operadores comparación son utilizados para comparar los valores, tipos y otras características de los operandos entre los que se aplican en busca de igualdad, diferencia, etc. Devolverán un valor booleano como resultado. Como veremos, algunos de ellos presentan variantes de comparación simple (no se compara el tipo de los datos) y otra estricta donde sí es comparado.
El operador '==', evalúa si dos valores son equiparables, aunque sean un tipo de dato distinto.
Por ejemplo: Una comparación con este operador para los valores 0, '0' y false dará como resultado true.
El operador '===', evalúa si dos valores son exactamente iguales, esto incluye que sean el mismo tipo de dato.
Por ejemplo: Una comparación con este operador para los valores 0, '0' y false dará como resultado false.
El operador '!=', evalúa si dos valores son diferentes o no equiparables, sin tomar en cuenta el tipo de dato.
Por ejemplo: Una comparación con este operador para los valores 0, '0' y false dará como resultado false.
El operador '!==', evalúa si dos valores son estrictamente diferentes, incluyendo el tipo de dato de cada uno.
Por ejemplo: Una comparación con este operador para los valores 0, '0' y false dará como resultado true.
El operador '<', evalúa si el valor de la izquierda es menor que el de la derecha. Evaluar valores que no sean equiparables, puede causar un error.
Por ejemplo: Una comparación con este operador para los valores 0 < 5 devuelve true. Pero comparar 0 < 'Hola' generará un error.
El operador '>', evalúa si el valor de la izquierda es mayor que el de la derecha. Evaluar valores que no sean equiparables, puede causar un error.
Por ejemplo: Una comparación con este operador para los valores 0 > 5 devuelve false. Pero comparar 0 > 'Hola' generará un error.
El operador '<=', evalúa si el valor de la izquierda es menor o igual que el de la derecha. Evaluar valores que no sean equiparables, puede causar un error.
Por ejemplo: Una comparación con este operador para los valores 0 <= 5 devuelve true. Pero comparar 0 <= 'Hola' generará un error.
El operador '>=', evalúa si el valor de la izquierda es mayor o igual que el de la derecha. Evaluar valores que no sean equiparables, puede causar un error.
Por ejemplo: Una comparación con este operador para los valores 0 >= 5 devuelve false. Pero comparar 0 >= 'Hola' generará un error.
El operador '<>', evalúa si el valor de la izquierda es igual o equivalente al de la derecha. Evaluar valores que no sean equiparables, no causará error. Este operador se encuentra aún en etapa de desarrollo.
Por ejemplo: Una comparación con este operador para los valores 0 <> '0' o false <> 'false' devuelve true. Pero comparar 0 <> false devolverá false.
Los Operadores asignación son utilizados normalmente para asignar un valor de la derecha al objeto de la izquierda. De momento, Dynamo solamente tiene el operador de asignación simple parcialmente estandarizado en ciertos contextos. Esta lista se ampliará en el futuro.
El '=' operador, asigna el valor que se encuentra a su derecha al objeto que se encuentra a su izquierda.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la transacci&oiacute;n. En otros contextos, de momento, seguramente fallará.
Existen varios tipos más de Operadores de Asignación que posiblemente sean agregados pronto a Dynamo. Aunque ahora, a efectos de no hacer demasiado pesada la documentación, se omiten. Se incluirán en el momento que tengan, al menos, un mediano soporte dentro del lenguaje.
Los Operadores matemáticos que proveen los lenguajes, permiten realizar operaciones de cálculo computacional. De momento, Dynamo tiene soporte limitado para algunos operadores dependiendo del contexto. En el contexto de los argumentos de condicionales, pueden ser utilizados y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallarán.
El '+' operador, adiciona dos valores que sean evaluados compatibles para realizar la operación.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '++' operador, incrementa en 1 el valor al que se aplica. Si se coloca antes del valor a incrementar (pre-incremento), incrementa antes de evalur el valor inicial. Si se coloca después del valor a incrementar (post-incremento), realiza el proceso inverso.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '-' operador, resta dos valores que sean evaluados compatibles para realizar la operación. Si se coloca delante de un valor numérico lo convertirá a negativo.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '++' operador, decrementa en 1 el valor al que se aplica. Si se coloca antes del valor a decrementar (pre-decremento), decrementa antes de evalur el valor inicial. Si se coloca después del valor a decrementar (post-decremento), realiza el proceso inverso.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '*' operador, multiplica dos valores que sean evaluados compatibles para realizar la operación.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '**' operador, calcula la potencia del valor base a la izquierda por el exponente a la derecha. Por ejemplo: 2**3 dará como resultado 8. Bases o potencias negativas deben ir entre paréntesis.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '/' operador, divide dos valores que sean evaluados compatibles para realizar la operación. Utilizar en divisiones entre 0, generará un resultado inesperado.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
El '%' operador, calcula el resto de una división. Por ejemplo: 5 % 2 devolverá 1 como resultado.
En el contexto de los argumentos de condicionales, puede ser utilizado y posteriormente evaluada la operación. En otros contextos, de momento, seguramente fallará.
Existen varios tipos más de Operadores Matemáticos que posiblemente sean agregados pronto a Dynamo. Aunque ahora, a efectos de no hacer demasiado pesada la documentación, se omiten. Se incluirán en el momento que tengan, al menos, un mediano soporte en Dynamo.
¿Tienes preguntas? Escríbenos a dev.litgirl@ohyoo.net
LitGirl © Equipo de Desarrollo - All rights reserved.