Как я могу избежать передачи большого количества параметров во вложенную функцию? - PullRequest
0 голосов
/ 28 декабря 2018

Я читал, что нет способа, как передать все внешние локальные параметры во вложенную функцию, но, может быть, есть какие-то хаки, чтобы это сделать?Как я могу избежать передачи большого количества параметров в эту функцию, например:

let var1 = 5;
let var2 = 12.2;
let var3 = bar();
let var4 = tar() * var1;
// etc ... a lot of variables ...
fn foo() {
    // want to have var1, var2, var3, var4 ...
}

1 Ответ

0 голосов
/ 28 декабря 2018

То, что вы хотите, называется замыканием :

fn main() {
    let var1 = 5;
    let var2 = 12.2;
    let foo = || {
        var1 as f64 + var2
    };
    println!("foo(): {}", foo()); // prints "foo(): 17.2"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...