Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object.class.instance_methods # => [:meth1, :meth2,...]
- object.instance_variables # => [:@var1, :@var2,..]
- object.instance_variables.map { |var| object.instance_variable_get(var) }
- module M
- M_constant = "M constant"
- def m_method
- puts "M#m_instance_method"
- end
- end
- class C
- include M
- attr_accessor :c_instance_variable
- C_constant = "C constant"
- @@c_class_variable = 4
- def self.c_class_method1
- puts "c_class_method1"
- end
- def c_method
- @c_instance_variable = 0
- puts "c_instance_method"
- end
- class << self
- attr_accessor :c_class_instance_variable
- @c_class_instance_variable = 5
- def c_class_method1
- puts "c_class_method1"
- end
- end
- end
- class D < C
- end
- M.constants
- #=> [:M_constant]
- C.constants
- #=> [:A, :C_constant, :M_constant]
- C.constants(false)
- #=> [:A, :C_constant]
- D.constants
- #=> [:A, :C_constant, :M_constant]
- D.constants(false)
- #=> []
- C.class_variables
- #=> [:@@c_class_variable]
- C.class_variables(false)
- #=> [:@@c_class_variable]
- D.class_variables
- #=> [:@@c_class_variable]
- D.class_variables(false)
- #=> []
- C.new.instance_variables
- #=> [:@c_instance_variable]
- D.new.instance_variables
- #=> []
- M.instance_methods
- #=> [:m_instance_method]
- C.instance_methods.size
- #=> 57
- C.instance_methods(false)
- #=> [:c_instance_variable, :c_instance_variable=, :c_method]
- D.instance_methods.size
- #=> 57
- D.instance_methods(false)
- #=> []
- C.singleton_class.instance_methods.size
- #=> 102
- C.singleton_class.instance_methods(false)
- #=> [:c_class_method1, :c_class_instance_variable,
- # :c_class_instance_variable=]
- D.singleton_class.instance_methods.size
- #=> 102
- D.singleton_class.instance_methods(false)
- #=> []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement