#array #extension #generic #generics

array_ext

Rust 数组的扩展功能

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 中使用

MIT 许可证

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 数组的扩展功能。

无运行时依赖

特性