My Blog ha sido movido a SliceTech WordPress!

En 6 segundos estara entrando a mi nuevo Blog. Si no, visite
http://slicetech.x10.bz
actualice su Marcalibros.

martes, 11 de marzo de 2008

Expresiones en Groovy

Groovy soporta una extensa colleccion aplicables a los tipos numericos del lenguaje. Esto incluye los operadores aritmeticos normales (conocidos en cualquier otro lenguaje), tales como los operadores de comparacion, operadores de amplitud de bits y otros operadores miscelaneos. Una Expresion es usada para describir algun proceso computacional, es una mescla de operadores y operandos. Los operadores aritmeticos son (+,-,*,/) adicion, substracion, multiplicacion, division. Tambien soporta el operador de modulo denotado por el simbolo de porcentual (%), usado para obetenr el resto de una operacion de division de dos enteros. La Tabla siguiente muestra varias operaciones aritmeticas aplicadas a los literales enteros. Note que la division de enteros siempre se obtiene un resultado de valor tipo punto flotante (decimal), cuando podria ser esperado un entero tal como en otros lenguajes. Por ejemplo, la expresion 6/3 produce el valor punto flotante 2.0 y no el entero 2.

Tabla 1

Expresion llamado del metodo resultado
5 + 3 5.plus(3) 8
5 - 3 5.minus(3) 2
5 * 3 5.multiply(3) 15
5 / 3 5.divide(3) 1.6666666667
5 % 3 5.mod(3) 2

Estos mismos operadores aritmeticos pueden ser aplicados a dos valores de tipo punto flotante obteniendose como resultados valores del tipo flotante. Los operadores aritmeticos de Groovy pueden ser aplicados a combinaciones de valores de tipo entero con valores de tipo punto flotante obteniendo así resultados del tipo punto flotante la siguiente Tabla muestra algunos de los ejemplos:

Expresion Llamada del metodo Resultado
5 + 3.2 5.plus(3.2) 8.2
5.6 + 3 5.6.plus(3) 8.6
5 - 3.2 5.minus(3.2) 1.8
5.6 - 3 5.6.minus(3) 2.6
5 * 3.2 5.multiply(3.2) 16.0
5.6 * 3 5.6.multiply(3) 16.8
5 / 3.2 5.divide(3.2) 1.5625
5.6 / 3 5.6.divide(3) 1.8666666667

Si se desea obtener el cociente entero entre dos valores enteros debemos utilizar el método intdiv como sigue: 13.intdiv(5) esto obtendrá como resultado el valor entero 2.

El Operador modulo (%) produce el remanente entero de la división de dos valores enteros así tenemos que 13 % 5 se evalúa y produce 3 y 15 % 5 evalúa y produce 0
Note que es ilegal invocar el método mod para evaluar un valor de punto flotante o con un valor entero con un parámetro de tipo punto flotante. Esto implica que las siguientes expresiones:
13.0 % 5.0, 13.0 % 5, 13 % 5.0 todas reportan que el método mod no podrá ser invocado es decir es ilegal.


Powered by ScribeFire.

No hay comentarios: