En Python puedo ver lo que los métodos y campos con un objeto tiene:¿Cuál es el equivalente de Groovy al dir de Python()?
print dir(my_object)
¿cuál es el equivalente de que, en Groovy (suponiendo que tiene uno)?
En Python puedo ver lo que los métodos y campos con un objeto tiene:¿Cuál es el equivalente de Groovy al dir de Python()?
print dir(my_object)
¿cuál es el equivalente de que, en Groovy (suponiendo que tiene uno)?
se ve bien particularmente en Groovy (no probado, por lo taken from this link de crédito código debe ir allí):
// Introspection, know all the details about classes :
// List all constructors of a class
String.constructors.each{println it}
// List all interfaces implemented by a class
String.interfaces.each{println it}
// List all methods offered by a class
String.methods.each{println it}
// Just list the methods names
String.methods.name
// Get the fields of an object (with their values)
d = new Date()
d.properties.each{println it}
El término general que busca es introspección.
Como se describe here, para encontrar todos los métodos definidos por objeto String:
"foo".metaClass.methods*.name.sort().unique()
No es tan simple como la versión de Python, tal vez alguien más puede mostrar mejor manera.
Además de simplemente utilizando la API de Java normal de reflexión, hay:
http://docs.codehaus.org/display/GROOVY/JN3535-Reflection
También puede jugar con las metaclases.
¡Gracias por proporcionarnos el término! – WilliamShatner