Loops while循环可以计算为一个值吗?
我正在学习Rust,今天我偶然发现能够通过Loops while循环可以计算为一个值吗?,loops,rust,Loops,Rust,我正在学习Rust,今天我偶然发现能够通过if/else表达式分配变量。例如: let y = 5; let x = if y > 20 { 20 } else { y }; 使用while循环是否有办法做到这一点?我试过: fn main() { let mut n = 0; let mut num = 0; num += while n < 10 { n += 1; 5 }; } 当然,我可以将num+=5
if
/else
表达式分配变量。例如:
let y = 5;
let x = if y > 20 { 20 } else { y };
使用while
循环是否有办法做到这一点?我试过:
fn main() {
let mut n = 0;
let mut num = 0;
num += while n < 10 {
n += 1;
5
};
}
当然,我可以将num+=5
放在while循环中,但这就失去了乐趣
这是我生锈的第一天,所以我甚至不知道是否有可能实现我的想法。这真的可能吗?我是否犯了语法错误
这是我尝试运行的代码的另一个版本,但也无法运行:
fn main() {
let mut num = 0;
num += while num < 50 {
5
};
}
fn main(){
设mut num=0;
num+=而num<50{
5.
};
}
否。循环的值始终是()
,单位类型
是否增强了循环
循环,以便能够使用值中断:
let x = loop {
break 42;
};
println!("{}", x);
RFC的目的与这里尝试的完全不同;我可以自信地说,每次迭代求和以产生循环表达式的结果是永远不会发生的