Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmFnCh 261 of 373 menu
◀ ▶

Последовательный вызов функций в Rust

Можно результат работы одной функции передать параметром в другую. Сначала прибавим единицу к числу 3, а затем удвоим результат:

fn inc(n: i32) -> i32 { n + 1 } fn double(n: i32) -> i32 { n * 2 } fn main() { let res = double(inc(3)); println!("{}", res); // выведет 8 }

Внутренний вызов выполняется раньше внешнего. Тот же порядок можно записать через промежуточную переменную:

fn inc(n: i32) -> i32 { n + 1 } fn double(n: i32) -> i32 { n * 2 } fn main() { let mid = inc(3); let res = double(mid); println!("{}", res); // выведет 8 }

Функции, конечно же, не обязательно должны быть одинаковыми. Пусть одна прибавляет два, а другая утраивает число:

fn add_two(n: i32) -> i32 { n + 2 } fn triple(n: i32) -> i32 { n * 3 } fn main() { let res = triple(add_two(2)); println!("{}", res); // выведет 12 }

Результат двух вызовов можно сложить. Удвоим число 2 и число 3, затем найдем сумму этих ответов:

fn func(n: i32) -> i32 { n * 2 } fn main() { let res = func(2) + func(3); println!("{}", res); // выведет 10 }

Даны блоки в программе:

fn add_two(n: i32) -> i32 { n + 2 } fn triple(n: i32) -> i32 { n * 3 }

В точке входа выведите результат цепочки triple после add_two для числа 4.

Дано число:

let seed = 1;

Соберите два блока: первый прибавляет 5, второй вычитает 2. Выведите итог для seed одной цепочкой.

Пусть у вас есть функция, возвращающая кубический корень из числа, и функция, округляющая дробь до трех знаков в дробной части:

fn root(num: f64) -> f64 { num.powf(1.0 / 3.0) } fn norm(num: f64) -> f64 { (num * 1000.0).round() / 1000.0 }

С помощью этих функций найдите кубический корень из числа 2 и округлите его до трех знаков в дробной части.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить