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