ruby - Obtener todas las variables locales o métodos disponibles de irb?
reflection (3)
Busque métodos en el Kernel, Objeto y Módulo: por ejemplo, local_variables , instance_methods , instance_variables .
Otros grandes métodos allí. inspect es otro.
Cuando entro en irb y escribo un comando que no existe, aparece un error que indica
"undefined local variable or method ''my_method'' for main:Object (NameError)"
¿Hay alguna manera de obtener una lista de las variables locales o los métodos disponibles? Esto sería realmente útil para explorar el rubí.
Grandes respuestas.
A medida que exploras, tienes estos a tu disposición:
obj.private_methods
obj.public_methods
obj.protected_methods
obj.singleton_methods
y
MyClass.private_instance_methods
MyClass.protected_instance_methods
MyClass.public_instance_methods
Uso como
obj.public_methods.sort
Puede hacer la revisión más fácil también.
Existen algunos casos especiales como
String.instance_methods(false).sort
... le dará solo los métodos de instancia definidos en la clase String, omitiendo las clases que heredó de cualquier ancestro. Como espero que sepas, puedes ver más aquí: http://www.ruby-doc.org/docs/ProgrammingRuby/ pero no es tan divertido como inspeccionar y reflexionar en irb.
Feliz explorando
Sidra de pera
Para averiguar las variables de instancia, puede usar Kernel#instance_variables
como lo señaló Zabba.
Para los métodos disponibles en un objeto, uso my_object.methods - Object.methods
para averiguar qué métodos no obvios están disponibles para mi objeto. Esto reduce la lista y es considerablemente fácil de leer.