当从block语句分配值时,Rust是否有一种优雅的方式来进一步操纵值?

问题描述 投票:-1回答:1

我试图在一个块中声明一个带有表达式的变量。]​​>

let y = {
    let x = 3;
    x + 1
};

下面的代码等于4。据我所知,块中的最后一个元素不能使用分号,因为这使该表达式成为语句。

如果我想进一步操纵这些值怎么办?例如,如果我要实例化两个变量并将它们相乘怎么办? Rust是否有一种优雅的方式来处理此问题,还是我需要将其拆分为许多表达式?

伪代码:

//An attempt to multiply two instantiated values in a block
let y = {
    let z = 2;
    let x = 3;
    x + 1;
    x * z
};
    

我正在尝试在一个块中声明一个带有表达式的变量。令y = {令x = 3; x + 1};下面的代码等于4。据我所知,块中的最后一个元素不能有分号...

rust instantiation
1个回答
0
投票

伪代码的问题是x是不可变的-无法更改。为了获得理想的效果,必须使x可变,并且可以使用x += 1而不是x + 1来增加它:

© www.soinside.com 2019 - 2024. All rights reserved.