practo 0.1.0

Basic math operations
Documentation
struct Person<'a> {
    name: &'a str,
    age: i32,
}

fn main() {
    let s_1 = "Hello";
    let v: &str;
    {
        let s_2 = String::from("World");
        v = some_fn(s_1, &s_2);
    }

    println!("{}", v);
    let int1 = 5;
    {
        let int2 = 10;

        let result = greater(&int1, &int2);
        println!("The larger value is {}", result);
    }

    let first_name = "Mandes";
    let mut mandes = Person {
        name: &first_name,
        age: 40,
    };
    {
        let last_name = String::from("Otieno");
        mandes.name = &last_name;
    }
    /*
    println!(
        "The name of the person is {} and his age is {}",
        mandes.name, mandes.age
    );
    */
}

fn some_fn<'a, 'b>(first_str: &'a str, second_str: &'b str) -> &'a str {
    first_str
}

fn greater<'a, 'b>(i: &'a i32, j: &'a i32) -> &'a i32 {
    if i > j {
        i
    } else {
        j
    }
}

// lifetimes specifiers are only needed when we use references as outputs