我想遍历BigUint
类型的num
类型的值范围。
我该怎么做?
我尝试过
for i in 0..a {...}
其中a
是(借用的)BigUint
类型。我收到有关不匹配的整数类型的错误,所以我尝试了以下方法:
for i in Zero::zero()..a {...}
但是根据是否借用a
,我会得到不同的错误。
如果借用a
,那么我会得到以下错误信息:
| for i in Zero::zero()..(a) {
| ^^^^^^^^^^ the trait `num::Zero` is not implemented for `&num::BigUint`
如果未借用a,则为错误:
| for i in Zero::zero()..(a) {
| ^^^^^^^^^^^^^^^^^ the trait `std::iter::Step` is not implemented for `num::BigUint`
答案 0 :(得分:3)
由于unstability of Step
trait ,num
板条箱似乎还不支持此功能。
您可以做的是使用num-iter
条板箱及其范围函数。
use num::BigUint;
fn main() {
for i in num_iter::range_inclusive(BigUint::from(0u64), BigUint::from(2u64)) {
println!("{}", i);
}
}