Я изучаю Rust сегодня, и я наткнулся на возможность присваивать переменные через операторы if/then. Например,Может ли цикл while оценить значение?
let y = 5;
let x =
if y > 20{
20
} else {
y
};
Позволяет назначать переменные через оператор if Есть ли способ сделать это с помощью цикла while?
Я попытался
fn main() {
let mut n = 0;
let mut num = 0;
num +=
while n < 10 {
n+=1;
5
};
}
с надеждой, что num
в конечном итоге будет равен 50, с петлей в то время как увеличивающийся num
на пять каждую итерацию, но я получаю следующую ошибку
error: mismatched types:
expected `()`,
found `_`
(expected(),
found integral variable) [E0308]
error: mismatched types:
expected `_`,
found `()`
(expected integral variable,
found()) [E0308]
error: aborting due to 2 previous errors
Естественно , Я мог бы поставить num+=5
внутри цикла while, но это увлекает его.
Это мой первый день с ржавчиной, поэтому я даже не знаю, можно ли делать то, что я имею в виду. Действительно ли это возможно? Я делаю синтаксическую ошибку?
fn main() {
let mut num = 0;
num +=
while num < 50 {
5
};
}
Вышеупомянутая версия кода, который я пытаюсь запустить, но также не работает.
Я изменил ваш заголовок, чтобы попытаться выяснить, что вы просите, пожалуйста, убедитесь, что он все еще точно отражает то, что вы хотите знать. – Shepmaster
Спасибо! Улучшает мой вопрос. – mjkaufer