#array #zero-overhead #repeat #element

无std array-fu

使用简单的语法构建数组

1个不稳定版本

0.0.1-alpha2022年4月28日
0.0.0 2022年4月28日

#223无标准库


sierra 中使用

MIT/Apache

20KB
259

array-fu

crates docs actions MIT/Apache loc

此crate定义了array!和其他可以构建数组的宏。使用简单的语法,根据需求变化使其更复杂。

array!宏通过重复表达式执行构建数组,可能将提供的模式绑定到枚举。

示例

use array_fu::array;
use rand::random;

let values: [f32; 2] = array![random(); 2];

这也意味着表达式类型可能不是Copy或甚至是Clone

use array_fu::array;
# use std::sync::Mutex;
let values = array![Mutex::new(1); 2];

更多示例请参见array!宏文档。

collect_array!宏通过重复表达式执行并使用迭代器中的元素绑定到提供的模式来构建数组。

示例

use array_fu::collect_array;

let opt = collect_array![x in 1.., y in 2.. => x + y; where x * y > 10; 3];

assert_eq!(opt, Some([7, 9, 11]));
use array_fu::collect_array;

let values = collect_array![(x, y) in [(1, 2), (3, 4), (5, 6)] => x + y; 3];

assert_eq!(values, Some([3, 7, 11]));

更多示例请参见collect_array!宏文档。

许可证

许可如下

任选其一。

贡献

除非你明确声明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应如上双许可,不附加任何额外条款或条件。

无运行时依赖