4个版本
0.2.0 | 2023年1月15日 |
---|---|
0.1.2 | 2023年1月9日 |
0.1.1 | 2023年1月9日 |
0.1.0 | 2023年1月9日 |
在 Rust模式 中排名第 2787
17KB
266 行
调整切片(2)
在安全的Rust中,根据更大的切片来增大和缩小切片。
这是通过将新切片表示为源切片的切片来完成的——这样也可以将生命周期扩展到源的生命周期。
示例
use resize_slice2::ResizeSlice;
let source = &["a", "b", "c", "d", "e", "f"];
let slice = &source[1..4];
assert_eq!(slice, &["b", "c", "d"]);
let resized = slice.try_resize(source, 0..1).unwrap();
assert_eq!(resized, &["b", "c", "d", "e"]);
所以一个范围为 1..-1
的范围会将开始向右移动一个位置,将结束向左移动一个位置。
source: |------------------------|
slice: |-------|
result: |---|
一个范围为 1..
的范围会将开始向右移动一个位置,并将结束完全展开。
source: |------------------------|
slice: |-------|
result: |-----------|
一个范围为 0..0
的范围将返回相同的切片。
source: |------------------------|
slice: |-------|
result: |-------|
依赖关系
~150KB