From: samuel@... Date: 2018-04-12T04:06:51+00:00 Subject: [ruby-core:86523] [Ruby trunk Feature#13626] Add String#byteslice! Issue #13626 has been updated by ioquatix (Samuel Williams). By the way, I ended up implanting https://github.com/socketry/async-io/blob/master/lib/async/io/binary_string.rb which I guess is okay but it's not ideal. ---------------------------------------- Feature #13626: Add String#byteslice! https://bugs.ruby-lang.org/issues/13626#change-71466 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- It's a common pattern in IO buffering, to read a part of a string while leaving the remainder. ~~~ # Consume only part of the read buffer: result = @read_buffer.byteslice(0, size) @read_buffer = @read_buffer.byteslice(size, @read_buffer.bytesize) ~~~ It would be nice if this code could be simplified to: ~~~ result = @read_buffer.byteslice!(size) ~~~ Additionally, this allows a significantly improved implementation by the interpreter. -- https://bugs.ruby-lang.org/ Unsubscribe: