From: hanmac@... Date: 2018-05-23T10:30:55+00:00 Subject: [ruby-core:87236] [Ruby trunk Feature#14783] String#chars_at / String#bytes_at Issue #14783 has been updated by Hanmac (Hans Mackowiak). @sos4nt why does it return a new string instead of array of strings? you might like this: ~~~ ruby string = 'hello, world!' [0, 5, 7, 12].map(&string.method(:[])).join #=> "h,w!" [0..4, 7..11].map(&string.method(:[])).join #=> "helloworld" ~~~ ---------------------------------------- Feature #14783: String#chars_at / String#bytes_at https://bugs.ruby-lang.org/issues/14783#change-72224 * Author: sos4nt (Stefan Sch����ler) * 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: