访问if语句内的变量

时间:2019-01-19 19:55:00

标签: rust

基本上,我正在研究一些物理信息。我需要在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还是陌生的,而我之所以来是因为它的低风险。但是,我不太适应其他语言。解决方案可能很明显,在这种情况下,对于您浪费时间,我深表歉意。谢谢您的帮助。

0 个答案:

没有答案