last_or_empty

Function last_or_empty 

Source
pub fn last_or_empty<T>(collection: &[T]) -> T
where T: Clone + Default,
Expand description

Returns the last item from the collection. If the collection is empty, returns the default value of T.

§Arguments

  • collection - A slice of items.

§Returns

  • T - The last item in the collection. If the collection is empty, returns T::default().

§Examples

use lowdash::last_or_empty;

let numbers = vec![1, 2, 3];
let last_num = last_or_empty(&numbers);
assert_eq!(last_num, 3);

let empty: Vec<i32> = vec![];
let last_num = last_or_empty(&empty);
assert_eq!(last_num, 0); // i32::default() is 0
use lowdash::last_or_empty;

#[derive(Debug, PartialEq, Clone, Default)]
struct Person {
    name: String,
    age: u32,
}

let people = vec![
    Person { name: "Alice".to_string(), age: 25 },
    Person { name: "Bob".to_string(), age: 30 },
];

let last_person = last_or_empty(&people);
assert_eq!(last_person, Person { name: "Bob".to_string(), age: 30 });

let empty_people: Vec<Person> = vec![];
let last_person = last_or_empty(&empty_people);
assert_eq!(last_person, Person::default());