Практика на трейты функций в Rust
Дано число:
let n: i32 = 12;
Запишите функцию с двумя параметрами из
раздела, замыкание, которое уменьшает
аргумент на два, передайте его с n
и выведите результат.
Дано число:
let mut sum: i32 = 0;
Сделайте изменяемое замыкание, которое
прибавляет аргумент к sum и
возвращает новое значение, и функцию с
изменяемым параметром. Дважды передайте
замыкание с числами 3 и 5
и выведите оба накопленных итога.
Дана строка:
let label = String::from("ok");
Запишите функцию одного обращения без
аргументов у замыкания, заберите
label во владение, отдайте строку
и выведите ее.
Дано число:
let offset: i32 = 7;
Сделайте замыкание с захватом offset
во владение, которое складывает его с
аргументом, и дважды передайте его в
общую функцию. Выведите оба ответа.
Даны числа:
let a: i32 = 4;
let b: i32 = 9;
Запишите замыкание, которое прибавляет
a к аргументу, и функцию с двумя
параметрами из раздела. Выведите
результаты для b и для 1.
Дана строка:
let word = String::from("go");
Скажите, можно ли передать одно и то же
замыкание, которое забирает word
и возвращает строку, в общую функцию
дважды подряд, и почему.