fn is_blank_or_empty(str: Option<&str>) -> bool {
// Check for None or empty string
match str {
Some(s) if !s.is_empty() => {
// Check if the string contains only whitespace
s.chars().all(|ch| ch.is_whitespace())
}
_ => true, // Handles None or empty strings
}
}
fn main() {
let test_cases = vec![
None,
Some(""),
Some(" "),
Some("abc"),
];
for (index, test) in test_cases.iter().enumerate() {
println!("Test{}: {}", index + 1, is_blank_or_empty(*test));
}
}
/*
run:
Test1: true
Test2: true
Test3: true
Test4: false
*/