This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# UnboundMethod.to_s (from ruby core) --- to_s() --- Returns a human-readable description of the underlying method. "cat".method(:count).inspect #=> "#<Method: String#count(*)>" (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>" In the latter case, the method description includes the "owner" of the original method (`Enumerable` module, which is included into `Range`). `inspect` also provides, when possible, method argument names (call sequence) and source location. require 'net/http' Net::HTTP.method(:get).inspect #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>" `...` in argument definition means argument is optional (has some default value). For methods defined in C (language core and extensions), location and argument names can't be extracted, and only generic information is provided in form of `*` (any number of arguments) or `_` (some positional argument). "cat".method(:count).inspect #=> "#<Method: String#count(*)>" "cat".method(:+).inspect #=> "#<Method: String#+(_)>"" (This method is an alias for UnboundMethod#inspect.) Returns a human-readable description of the underlying method. "cat".method(:count).inspect #=> "#<Method: String#count(*)>" (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>" In the latter case, the method description includes the "owner" of the original method (`Enumerable` module, which is included into `Range`). `inspect` also provides, when possible, method argument names (call sequence) and source location. require 'net/http' Net::HTTP.method(:get).inspect #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>" `...` in argument definition means argument is optional (has some default value). For methods defined in C (language core and extensions), location and argument names can't be extracted, and only generic information is provided in form of `*` (any number of arguments) or `_` (some positional argument). "cat".method(:count).inspect #=> "#<Method: String#count(*)>" "cat".method(:+).inspect #=> "#<Method: String#+(_)>""
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.