Applying Closure to a given number in Rust
Rust Closures and Higher-Order Functions: Exercise-1 with Solution
Write a Rust function that takes a closure as an argument and applies it to a given number.
Sample Solution:
Rust Code:
// Define a function that takes a closure as an argument
fn apply_closure<F: FnOnce(i32) -> i32>(num: i32, closure: F) -> i32 {
// Call the closure with the given number and return the result
closure(num)
}
fn main() {
// Define a closure that squares a number
let square_closure = |x| x * x;
// Apply the closure to a given number
let result = apply_closure(12, square_closure);
// Print the result
println!("Result: {}", result); // Output: Result: 144
}
Output:
Result: 144
Explanation:
The above Rust code defines a function called "apply_closure()" that takes two arguments: 'num', an integer, and 'closure', a closure that takes an integer and returns an integer. Inside the function, it calls the closure with the given number 'num' and returns the result.
In the main function,
- A closure "square_closure" is defined using the |x| x * x syntax, which squares a given number.
- The "apply_closure()" function is called with arguments 12 and 'square_closure'. This applies "square_closure" to 12.
- The result of applying closure to 12 is stored in the 'result' variable.
- The result is printed to the console using "println!()".
Rust Code Editor:
Previous: Rust Closures and Higher-Order Functions Exercises.
Next: Applying Closure to two numbers in Rust.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/rust/functional-programming/rust-closures-and-higher-order-functions-exercise-1.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics