Создание замыкания в Rust
Замыкание записывают между вертикальными чертами и выражением, которое должно выполниться. Слева от черт ставят имя параметра с типом, справа от черт идет тело в виде одного выражения.
Имя переменной получает всю запись целиком, как при объявлении числа. Компилятор выводит тип сам, если в теле нет неоднозначности:
let double = |n: i32| n * 2;
Тело можно взять в фигурные скобки, если команд несколько. Тогда результат по-прежнему задает последнее выражение без точки с запятой:
let add_ten = |n: i32| {
let step = 10;
n + step
};
Запишите в triple замыкание, которое
умножает целое на 3.
Дано число:
let base = 7;
Объявите inc так, чтобы оно прибавляло
единицу к своему аргументу.
Дан следующий код:
let broken = |n: i32| n + ;
Скажите, соберется ли такая запись.