This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

byteslice

        # 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.