基本上,我正在研究一些物理信息。我需要在if语句中访问变量。 (我在fn main()的开头对其进行了初始化,并在if语句中更改了该值)。根据我的经验(很少),我注意到Rust确实不喜欢您创建公共变量,更不用说对其进行编辑了。
我尝试使用两个不同的变量进行移位操作,但我有点想不通:
if Falling {
if Acceleration > TerminalVelocity {
let mut FinalAcceleration = TerminalVelocity;
Acceleration << FinalAcceleration;
}
}
这是我当前拥有的代码:
mod friction;
mod terminal_velocity;
fn main() {
let mut Falling = true;
let mut Mass: f32 = 10.0;
let mut Gravity: f32 = 9.81;
let mut Incline: f32 = 0.0;
let mut FricCoefficient: f32 = 0.5;
let mut DeltaTime: f32 = 5.0;
let mut Acceleration: f32 = 5.0;
let mut AtmosDensity: f32 = 1.225;
let mut FrontalArea: f32 = 5.0;
let mut Weight: f32 = 4.45;
let mut DragCoefficient: f32 = 0.6;
let mut TerminalVelocity: f32 = terminal_velocity::terminal_velocity(AtmosDensity, FrontalArea, Weight, DragCoefficient);
if Falling {
if Acceleration > TerminalVelocity {
let mut Acceleration = TerminalVelocity;
}
}
let f_val = friction::friction(Mass, Gravity, Incline, FricCoefficient, DeltaTime, Acceleration);
println!("{}", f_val)
}
我希望它使用在if语句中声明的变量,但是它只是忽略了它,而使用了“ Acceleration”的初始值。
P.S是的,我知道我应该使用蛇形套,VS Code一直在向我吼叫。
P.S.S是的,我知道物理学真的很糟糕。
我对Rust还是陌生的,而我之所以来是因为它的低风险。但是,我不太适应其他语言。解决方案可能很明显,在这种情况下,对于您浪费时间,我深表歉意。谢谢您的帮助。