#repeat #macro #loops #unroll #data-processing

unroll_range

重复指定范围内的每个数字的代码块

2 个不稳定版本

0.2.0 2023年11月22日
0.1.0 2023年11月22日

#1091Rust 模式

MIT 许可证

4KB

unroll_range

unroll_range 是一个 Rust 宏,旨在简化在指定范围内的每个数字上重复代码块的过程。此宏特别适用于需要重复操作一组值的情况,例如测试迭代、数据处理或生成输出。

用法

要使用 unroll_range,将其包含在您的 Rust 项目中。使用范围(包含或不包含)和闭包调用该宏,该闭包执行您希望重复的操作。

参数

  • $range:Rust 范围表达式(包含或不包含),该表达式定义了将重复代码块的范围。
  • $block:一个闭包,它接受单个参数 i 并包含要执行每个迭代的代码。

示例

以下是使用 unroll_range 与包含范围的方法

unroll_range!(1..=3, |i| {
    println!("Number: {}", i);
});

比较

crunchy

crunchy 工作正常,但添加了大量的样板代码,如果条件是不必要的。

repeated

repeated 没有作用域块,因此不能使用常量。它还使用 procmacro,这似乎比 macro_rules 宏慢一些。

无运行时依赖