¿Cómo puedo ver todos los métodos disponibles en un objeto en rubí. Estoy usando el aptana IDE cuando escribo File. no se muestran métodos Vengo de un eclipse/fondo de java.métodos disponibles rubí
Gracias
¿Cómo puedo ver todos los métodos disponibles en un objeto en rubí. Estoy usando el aptana IDE cuando escribo File. no se muestran métodos Vengo de un eclipse/fondo de java.métodos disponibles rubí
Gracias
Puede invocar File.methods
en el intérprete de Ruby interactivo para ver todos los métodos disponibles. No estoy seguro de si hay una manera en el IDE que está utilizando, ya que no lo he usado antes.
Existen varios métodos:
obj.methods
obj.public_methods
obj.private_methods
obj.protected_methods
obj.singleton_methods
Actualizar
Para obtener aparte los métodos de objeto de todos los métodos heredados que puede hacer:
obj.methods (falso)
Como Tempus menciona en los comentarios, el siguiente comando es muy útil para obtener los métodos actuales del objeto aparte del objeto (clase base) heredó métodos:
obj.methods - Object.methods
Si usted tiene un intérprete de Ruby ejecutándose, <object>.methods
mostrará los métodos disponibles en el objeto. En Eclipse, cuando he escrito File.
no pasó nada hasta que hice un contenido Assist comando (Ctrl + Espacio). En ese momento obtuve una lista de métodos.
Gracias. El espacio Ctrl funciona para mí. Desafortunadamente, no parece haber ninguna documentación asociada con los métodos? Todo lo que veo son sus nombres y parámetros para aprobar. ¿Es esto una debilidad del rubí IDE? – user231413
Recibo documentación sobre los métodos de Kernal. Puede estar relacionado con la presencia de documentos de ruby o no –
Puede pasar true
a los métodos si desea ignorar los métodos definidos en superclases:
obj.methods(true)
obj.public_methods(true)
obj.private_methods(true)
obj.protected_methods(true)
obj.singleton_methods(true)
O, si sólo desea eliminar los métodos más comunes que se definen en la clase Object
, se desee añadir ya sea - Object.methods
- Object.instance_methods
o, dependiendo de si obj
es una clase o una instancia de una clase.
También me gustaría señalar que obj.methods
no devuelve los nombres de los métodos ordenados, lo que podría querer hacer obj.methods.sort
.
me parece 'obj.methods - Object.methods' útil. – Geo
acabo descubierto 'pone obj.methods' enumerarlos en líneas separadas – ZMorek
Abundando en el punto de Tempus, es bueno si usted está utilizando un objeto tercero (de una joya o algo así) y lo hace' obj_instance.methods - obj_instance .class.methods' para averiguar qué responde esa instancia a – Edmund