mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
[DOC] Tweaks for Strings#byteslice
This commit is contained in:
parent
7743aa3799
commit
456f6f3f83
2 changed files with 57 additions and 38 deletions
41
string.c
41
string.c
|
@ -6870,45 +6870,10 @@ str_byte_aref(VALUE str, VALUE indx)
|
|||
|
||||
/*
|
||||
* call-seq:
|
||||
* 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
|
||||
* <tt>byteslice(range.begin, range.size)</tt>:
|
||||
*
|
||||
* 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>
|
||||
* byteslice(offset, length = 1) -> string or nil
|
||||
* byteslice(range) -> string or nil
|
||||
*
|
||||
* :include: doc/string/byteslice.rdoc
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue