This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# String.byteslice (from ruby core) --- byteslice(index, length = 1) -> string or nil byteslice(range) -> string or nil --- Returns a substring of `self`, or `nil` if the substring cannot be constructed. With integer arguments `index` and `length` given, returns the substring beginning at the given `index` of the given `length` (if possible), or `nil` if `length` is negative or `index` falls outside of `self`: s = '0123456789' # => "0123456789" s.byteslice(2) # => "2" s.byteslice(200) # => nil s.byteslice(4, 3) # => "456" s.byteslice(4, 30) # => "456789" s.byteslice(4, -1) # => nil s.byteslice(40, 2) # => nil In either case above, counts backwards from the end of `self` if `index` is negative: s = '0123456789' # => "0123456789" s.byteslice(-4) # => "6" s.byteslice(-4, 3) # => "678" With Range argument `range` given, returns `byteslice(range.begin, range.size)`: s = '0123456789' # => "0123456789" s.byteslice(4..6) # => "456" s.byteslice(-6..-4) # => "456" s.byteslice(5..2) # => "" # range.size is zero. s.byteslice(40..42) # => nil In all cases, a returned string has the same encoding as `self`: s.encoding # => #<Encoding:UTF-8> s.byteslice(4).encoding # => #<Encoding:UTF-8>
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.