4 个版本 (破坏性更新)
0.4.0 | 2022年11月11日 |
---|---|
0.3.0 | 2020年6月11日 |
0.2.0 | 2016年11月1日 |
0.1.0 | 2016年10月21日 |
#42 in #generics
在 2 crates 中使用
16KB
380 行
array_ext
Rust 数组的扩展功能。
示例
特质 Array
提供固定大小的数组泛型
use array_ext::Array;
fn average<T: Array<f32>>(arr: T) -> f32
{
let n = arr.len() as f32;
arr.foldl(0.0, |acc, val| acc + val) / n
}
assert!((average([8.96, 3.14, 17.9]) - 10.0).abs() < f32::EPSILON);
一些方法,如 zip_with
,由 ArrayN
特质提供,该特质允许执行完整的 [T; N] -> [U; N]
映射。基本的 Array
特质只能执行 [T; N] -> [T; N]
映射。
这最初是为了解决 const 泛型的不足而制作的解决方案,但自 v0.4 版本以来,所有内容都使用 const 泛型实现。
lib.rs
:
Rust 数组的扩展功能。