From: redmine@... Date: 2011-04-20T22:02:22+09:00 Subject: [ruby-core:35829] [Ruby 1.9 - Feature #4447] add String#byteslice() method Issue #4447 has been updated by Suraj Kurapati. Was NARUSE's patch committed to trunk? Can we close this issue? Thanks. ---------------------------------------- Feature #4447: add String#byteslice() method http://redmine.ruby-lang.org/issues/4447 Author: Suraj Kurapati Status: Assigned Priority: Normal Assignee: Yukihiro Matsumoto Category: M17N Target version: Please add a String#byteslice() method to the Ruby 1.9 core API. Without that method, I am forced to *inefficiently* perform byte-based string slicing by (1) unpacking the entire string into an Array (with String#unpack or worse: my_string.bytes.to_a) then (2) slicing that Array and finally (3) joining the sliced Array into a string (with Array#pack or worse: my_array.map(&:chr).join), all as shown below: class String unless method_defined? :byteslice ## # Does the same thing as String#slice but # operates on bytes instead of characters. # def byteslice(*args) unpack('C*').slice(*args).pack('C*') end end end Thanks for your consideration. -- http://redmine.ruby-lang.org