--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Element Reference---If passed a single <tt>Fixnum</tt>, returns the code of the character at that position. If passed two <tt>Fixnum</tt> objects, returns a substring starting at the offset given by the first, and a length given by the second. If given a range, a substring containing characters at offsets given by the range is returned. In all three cases, if an offset is negative, it is counted from the end of <em>str</em>. Returns <tt>nil</tt> if the initial offset falls outside the string, the length is negative, or the beginning of the range is greater than the end.
- !ruby/struct:SM::Flow::P 
  body: If a <tt>Regexp</tt> is supplied, the matching portion of <em>str</em> is returned. If a numeric parameter follows the regular expression, that component of the <tt>MatchData</tt> is returned instead. If a <tt>String</tt> is given, that string is returned if it occurs in <em>str</em>. In both cases, <tt>nil</tt> is returned if there is no match.
- !ruby/struct:SM::Flow::VERB 
  body: "   a = &quot;hello there&quot;\n   a[1]                   #=&gt; 101\n   a[1,3]                 #=&gt; &quot;ell&quot;\n   a[1..3]                #=&gt; &quot;ell&quot;\n   a[-3,2]                #=&gt; &quot;er&quot;\n   a[-4..-2]              #=&gt; &quot;her&quot;\n   a[12..-1]              #=&gt; nil\n   a[-2..-4]              #=&gt; &quot;&quot;\n   a[/[aeiou](.)\\1/]      #=&gt; &quot;ell&quot;\n   a[/[aeiou](.)\\1/, 0]   #=&gt; &quot;ell&quot;\n   a[/[aeiou](.)\\1/, 1]   #=&gt; &quot;l&quot;\n   a[/[aeiou](.)\\1/, 2]   #=&gt; nil\n   a[&quot;lo&quot;]                #=&gt; &quot;lo&quot;\n   a[&quot;bye&quot;]               #=&gt; nil\n"
full_name: String#slice
is_singleton: false
name: slice
params: |
  str[fixnum]                 => fixnum or nil
  str[fixnum, fixnum]         => new_str or nil
  str[range]                  => new_str or nil
  str[regexp]                 => new_str or nil
  str[regexp, fixnum]         => new_str or nil
  str[other_str]              => new_str or nil
  str.slice(fixnum)           => fixnum or nil
  str.slice(fixnum, fixnum)   => new_str or nil
  str.slice(range)            => new_str or nil
  str.slice(regexp)           => new_str or nil
  str.slice(regexp, fixnum)   => new_str or nil
  str.slice(other_str)        => new_str or nil

visibility: public
