Issue #14783 has been updated by nobu (Nobuyoshi Nakada).


sos4nt (Stefan Schler) wrote:
> Because `String#[]` also returns a string in such case:

It's a different, single argument case.
I don't think that `values_at` should return same class as the receiver, as `Hash#values_at`.


----------------------------------------
Feature #14783: String#chars_at / String#bytes_at
https://bugs.ruby-lang.org/issues/14783#change-72238

* Author: sos4nt (Stefan Schler)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
I just wanted to extract characters at certain indices from a string and noticed that there's no `values_at` counterpart for `String`.

I'd therefore like to propose two new `String` methods:

* `chars_at(selector, ...) вк new_str`
* `bytes_at(selector, ...) вк new_str`

which work basically like [`Array#values_at`](http://ruby-doc.org/core/Array.html#method-i-values_at), e.g.:

```ruby
string = 'hello, world!'
string.chars_at(0, 5, 7, 12)  #=> "h,w!" 
string.chars_at(0..4, 7..11)  #=> "helloworld" 
```





-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>