Actions
Feature #19314
closedString#bytesplice should support partial copy
Feature #19314:
String#bytesplice should support partial copy
Status:
Closed
Assignee:
-
Target version:
-
Description
String#bytesplice should support partial copy without temporary String objects.
For example, given x = "0123456789"
, either of the following replaces the contents of x
with "0167856789"
:
x.bytesplice(2, 3, x, 6, 3)
x.bytesplice(2..4, x, 6..8)
Considerations¶
- What should be the return value?
- The return value should be the whole source string for performance and consistency with
bytesplice(offset, len, s)
.
- The return value should be the whole source string for performance and consistency with
- Can the source and destination ranges overlap?
- Yes.
- Can the source and destination lengths be different?
- Yes.
- Can range form and offset/length form be mixed in the source and destination?
- No.
- What should happen when any offset doesn't land on character boundary in text strings.
- IndexError should be raised.
- Can the length be omitted in the destination?
- Maybe yes, but it may be confusing.
Use cases¶
Actions