3个不稳定版本
0.2.0 | 2024年4月12日 |
---|---|
0.1.1 | 2024年4月8日 |
0.1.0 | 2024年4月8日 |
#280 在 无标准库
每月下载量:28
16KB
302 行
split_array
使用编译时大小验证将数组引用分成两部分。
此crate需要nightly版本!
使用不稳定特性
示例
两个 halves 的大小通常可以推断出来
use split_array::SplitArray;
let mut array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr_mut();
* left = [10, 11, 12];
* right = [23, 24];
assert_eq!([10, 11, 12, 23, 24], array);
也可以显式地进行注释
use split_array::SplitArray;
let array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr::<2 > ();
assert_eq!([0, 1, 2], *left);
assert_eq!([3, 4], *right);
注释的大小将在编译时进行验证。这将无法编译
use split_array::SplitArray;
let array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr::<6 > ();
lib.rs
:
使用编译时大小验证将数组引用分成两部分。
示例
两个 halves 的大小通常可以推断出来
use split_array::SplitArray;
let mut array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr_mut();
*left = [10, 11, 12];
*right = [23, 24];
assert_eq!([10, 11, 12, 23, 24], array);
也可以显式地进行注释
use split_array::SplitArray;
let array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr::<2>();
assert_eq!([0, 1, 2], *left);
assert_eq!([3, 4], *right);
注释的大小将在编译时进行验证。这将无法编译
use split_array::SplitArray;
let array: [usize; 5] = [0, 1, 2, 3, 4];
let (left, right) = array.split_arr::<6>();