This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# String.rindex (from ruby core) --- rindex(substring, offset = self.length) -> integer or nil rindex(regexp, offset = self.length) -> integer or nil --- Returns the Integer index of the *last* occurrence of the given `substring`, or `nil` if none found: 'foo'.rindex('f') # => 0 'foo'.rindex('o') # => 2 'foo'.rindex('oo') # => 1 'foo'.rindex('ooo') # => nil Returns the Integer index of the *last* match for the given Regexp `regexp`, or `nil` if none found: 'foo'.rindex(/f/) # => 0 'foo'.rindex(/o/) # => 2 'foo'.rindex(/oo/) # => 1 'foo'.rindex(/ooo/) # => nil The *last* match means starting at the possible last position, not the last of longest matches. 'foo'.rindex(/o+/) # => 2 $~ #=> #<MatchData "o"> To get the last longest match, needs to combine with negative lookbehind. 'foo'.rindex(/(?<!o)o+/) # => 1 $~ #=> #<MatchData "oo"> Or String#index with negative lookforward. 'foo'.index(/o+(?!.*o)/) # => 1 $~ #=> #<MatchData "oo"> Integer argument `offset`, if given and non-negative, specifies the maximum starting position in the string to _end_ the search: 'foo'.rindex('o', 0) # => nil 'foo'.rindex('o', 1) # => 1 'foo'.rindex('o', 2) # => 2 'foo'.rindex('o', 3) # => 2 If `offset` is a negative Integer, the maximum starting position in the string to *end* the search is the sum of the string's length and `offset`: 'foo'.rindex('o', -1) # => 2 'foo'.rindex('o', -2) # => 1 'foo'.rindex('o', -3) # => nil 'foo'.rindex('o', -4) # => nil Related: String#index.
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.