Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,851 questions

51,772 answers

573 users

How to pass a runnable procedure (a function) as a parameter and run it in Rust

3 Answers

0 votes
fn execute_function(f: fn(i32) -> i32, value: i32) {
    let result = f(value);
    println!("Result: {}", result);
}

fn square(x: i32) -> i32 {
    x * x
}

fn main() {
    execute_function(square, 5); // Pass the `square` function as a parameter
}

 
  
/*
run:
  
Result: 25
  
*/

 



answered May 22, 2025 by avibootz
0 votes
fn execute_closure<F>(f: F, value: i32)
where
    F: Fn(i32) -> i32,
{
    let result = f(value);
    println!("Result: {}", result);
}
 
fn main() {
    let doublex = |x: i32| x * 2; // Define a closure
    execute_closure(doublex, 17); // Pass the closure as a parameter
}
 
  
   
/*
run:
   
Result: 34
   
*/

 



answered May 22, 2025 by avibootz
0 votes
use std::thread;

fn main() {
    let add = |x: i32| x + 80; // Define a closure

    let handle = thread::spawn(move || {
        let result = add(7); // Run the closure
        println!("Result in thread: {}", result);
    });

    handle.join().unwrap(); // Wait for the thread to finish
}

 
  
/*
run:
  
Result in thread: 87
  
*/

 



answered May 22, 2025 by avibootz
...