Skip to content

Instantly share code, notes, and snippets.

@tjkendev
Created July 22, 2017 09:10
Show Gist options
  • Save tjkendev/39bbf700fab56efd4e25c7fb01438a2a to your computer and use it in GitHub Desktop.
Save tjkendev/39bbf700fab56efd4e25c7fb01438a2a to your computer and use it in GitHub Desktop.
Rubyの各superclassのインスタンスメソッドチェック
print "> "
obj = eval(gets) # '1'とか
puts "#{obj} #{obj.class}"
puts
klass = obj.class
while !klass.nil?
# インスタンスメソッド
puts "== #{klass} #{klass.instance_methods(false)}"
puts
# クラスメソッド(特異クラスが持つインスタンスメソッド)
puts "== #{klass.singleton_class} #{klass.singleton_methods}"
puts
# スーパークラスに遡る
klass = klass.superclass
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment