// if2.rs // // Step 1: Make me compile! // Step 2: Get the bar_for_fuzz and default_to_baz tests passing! // // Execute `rustlings hint if2` or use the `hint` watch subcommand for a hint. pub fn foo_if_fizz(fizzish: &str) -> &str { // &str is a string slice - // Let's say the full string is a ribbon // A string slice is a piece of the ribbon // It's just a reference to the ribbon so doing things to the piece won't change the original ribbon. if fizzish == "fizz" { "foo" } else if fizzish == "fuzz" { "bar" } else { "baz" } } // No test changes needed! #[cfg(test)] mod tests { use super::*; #[test] fn foo_for_fizz() { assert_eq!(foo_if_fizz("fizz"), "foo") } #[test] fn bar_for_fuzz() { assert_eq!(foo_if_fizz("fuzz"), "bar") } #[test] fn default_to_baz() { assert_eq!(foo_if_fizz("literally anything"), "baz") } }