Ir al contenido principal

Groovy - Referencia #4

Duck Typing

Una característica muy propia de un lenguaje dinámico es el "duck typing", Groovy nos da soporte intentando adivinar el tipo que instanciamos.
A continuación un ejemplo:

void duckTyping () {

def duckString
String otherString
println("\nDuck Typing")
(1..3).each { print "*** " }
println("")
duckString = "Hello"
otherString = "Hello"

println (duckString.class); // duckString.getClass()
println (duckString.class == otherString.class);
// duckString.class.equal(otherString.class)
} // duckTyping.


La salida de este ejemplo es:
Duck Typing
*** *** ***
class java.lang.String
true

Aprecie que la clase de la variable "duckString" es interpretada por Groovy como un String y cuando lo comparamos con una variable tipada, vemos que es del mismo tipo (java.lang.String).

Vale la pena indicar, que el "duck typing", es opcional, es decir puede indicar o no el tipo, particularmente cuando utilizamos IDEs, el indicar el tipo proporciona mas facilidad a la hora de usar el intelligence.

Comentarios

Gabriel Solano dijo…
Yo creo que me estoy perfilando como de la "vieja escuela". Como menciona Jonathan me parece que el IDE Intellisense juega un papel muy importante para el desarrollador, habrá que ver como se compensa esto en Groovy.
jsanca dijo…
Sin embargo Grooy si puede realizar cierta inferencia, por ejemplo:

def myVar = new File (...)

myVar.exists()

El plugin para Eclipse por ejemplo, no analiza el tipo, si no el tipo de la implementación, osea analiza el objeto instanciado.

Entradas más populares de este blog

Pasos para remover Postgresql 8.3 en MAC OS

Tomado de: http://forums.enterprisedb.com/posts/list/1437.page In Mac OSX: (Assuming Default Locations) Via uninstaller: 1) In the installation directory, there will be a uninstall-postgresql.app file will be there, executing (double clicking) that will uninstall the postgresql installation. Manual Uninstallation: 1) Stop the server sudo /sbin/SystemStarter stop postgresql-8.3 2) Remove menu shortcuts: sudo rm -rf /Applications/PostgreSQL 8.3 3) Remove the ini file sudo rm -rf /etc/postgres-reg.ini 4) Removing Startup Items sudo rm -rf /Library/StartupItems/postgresql-8.3 5) Remove the data and installed files sudo rm -rf /Library/PostgreSQL/8.3 6) Delete the user postgres sudo dscl . delete /users/postgres

Enrique Bunbury - 3 de Octubre 2009 - Heredia CR

Via periodico la nacion, me entero de este conciertazo: http://www.nacion.com/viva/2009/julio/29/viva2042768.html Ah esperar mas detalles y la venta de la entradas, "Para solo si me perdonas ..." EDIT ..... Via http://www.enriquebunbury.com/hellville.aspx (gracias a andres por su post) venta anticipada: Entradas a la venta a partir del 13 de agosto en: www.costaricaticket.com Por ahi estare anunciando, el 13 si las estan vendiendo!

Depeche Mode - Costa Rica - 8 de Octubre 2009

Que año de conciertos, primero Jaguares, ahora los Cadillacs y en Octubre Depeche Mode, solo nos falta RadioHead, para ser feliz. Así como lo oyen; desde el sitio principal de Depeche (clickea aquí ), pueden ver la siguiente fecha: Thursday, October 8th, 2009 San Jose, Costa Rica En venta: June 15th, 2009 Demasiado bueno!!!!! La cita será en Octubre, eso si no nos mata la fiebre porcina :( saludos, J