我有一系列数字要按照升序或降序进行迭代,具体取决于上限是高于还是低于程序中的其他数字-长话短说,在布尔条件下。 / p>
我的第一个想法是将范围分配给变量,或者如果满足条件,则将<foobar>:
push %ebp
mov %esp, %ebp
sub $0x28,%esp ; Local storage
mov $0x804867D, %eax
mov 0x8(%ebp), %edx ; First/only parameter of foobar
mov %edx, -0x28(%ebp) ; ... becomes only parameter
call *%eax ; ... for the code at 0x0804867D
mov %ebp, %esp
pop %ebp
ret
调用的结果分配给
.rev()
不幸的是,范围是范围,// does not work:
let mut range = 0..100;
if condition {
range = range.rev();
}
for n in range {
// do stuff
}
返回.rev()
,Rust不允许这种转换。
我想我可以使用一个临时向量,并通过在原始范围或range.rev()上进行迭代来填充它,但我认为有一种更简洁,不太聪明的方法来实现此目的。