Trong Python tôi có thể xem những gì các phương pháp và các lĩnh vực một đối tượng có với:Groovy tương đương với dir của Python() là gì?
print dir(my_object)
gì tương đương trong Groovy (giả sử nó có một)?
Trong Python tôi có thể xem những gì các phương pháp và các lĩnh vực một đối tượng có với:Groovy tương đương với dir của Python() là gì?
print dir(my_object)
gì tương đương trong Groovy (giả sử nó có một)?
Trông particulary ngơi thoải mái tại Groovy (chưa được kiểm tra, do đó, mã taken from this link tín dụng nên đi đến đó):
// 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}
Các thuật ngữ chung bạn đang tìm kiếm là mẫn.
Như đã trình bày here, để tìm tất cả các phương pháp xác định cho các đối tượng String:
"foo".metaClass.methods*.name.sort().unique()
Nó không đơn giản như phiên bản Python, có lẽ ai đó có thể chỉ cho cách tốt hơn.
Bên cạnh đó chỉ bằng cách sử dụng Java API phản chiếu bình thường, có:
http://docs.codehaus.org/display/GROOVY/JN3535-Reflection
Bạn cũng có thể chơi trò chơi với metaclasses.
Cảm ơn bạn đã cung cấp cụm từ! – WilliamShatner