Несколько параметров замыкания в Rust
Несколько имен пишут через запятую между вертикальными чертами. Порядок параметров совпадает с порядком аргументов при вызове: первое имя получает первое значение из скобок.
Сложим два числа в одном выражении:
let sum = |a: i32, b: i32| a + b;
println!("{}", sum(2, 3));
Тип указывают у каждого имени отдельно. Можно смешивать разные типы, если тело с ними согласовано:
let label = |name: &str, score: i32| {
format!("{}: {}", name, score)
};
println!("{}", label("ann", 10));
Объявите diff с двумя параметрами i32,
которое вычитает второе из первого, и выведите
результат для 9 и 4.
Даны переменные:
let w = 3;
let h = 5;
Запишите area с двумя параметрами
i32 и выведите произведение w
и h через это имя.
Дан следующий код:
let pair = |x: i32, y: i32| (x, y);
let t = pair(1, 2);
Скажите, сколько полей будет у значения
в t.