Method: String#[]
- Defined in:
- string.c
#[](fixnum) ⇒ Fixnum? #[](fixnum, fixnum) ⇒ String? #[](range) ⇒ String? #[](regexp) ⇒ String? #[](regexp, fixnum) ⇒ String? #[](other_str) ⇒ String? #slice(fixnum) ⇒ Fixnum? #slice(fixnum, fixnum) ⇒ String? #slice(range) ⇒ String? #slice(regexp) ⇒ String? #slice(regexp, fixnum) ⇒ String? #slice(other_str) ⇒ String?
Element Reference---If passed a single Fixnum, returns the code
of the character at that position. If passed two Fixnum
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 str. Returns
nil if the initial offset falls outside the string, the length
is negative, or the beginning of the range is greater than the end.
If a Regexp is supplied, the matching portion of str is
returned. If a numeric parameter follows the regular expression, that
component of the MatchData is returned instead. If a
String is given, that string is returned if it occurs in
str. In both cases, nil is returned if there is no
match.
a = "hello there"
a[1] #=> 101
a[1,3] #=> "ell"
a[1..3] #=> "ell"
a[-3,2] #=> "er"
a[-4..-2] #=> "her"
a[12..-1] #=> nil
a[-2..-4] #=> ""
a[/[aeiou](.)\1/] #=> "ell"
a[/[aeiou](.)\1/, 0] #=> "ell"
a[/[aeiou](.)\1/, 1] #=> "l"
a[/[aeiou](.)\1/, 2] #=> nil
a["lo"] #=> "lo"
a["bye"] #=> nil
1638 1639 1640 |
# File 'string.c', line 1638 static VALUE rb_str_aref_m(argc, argv, str) int argc; |