mirror of
https://github.com/rust-lang/rustlings.git
synced 2026-01-07 19:29:18 +00:00
Zum Commit vorgemerkte Änderungen: geändert: exercises/00_intro/intro1.rs geändert: exercises/00_intro/intro2.rs geändert: exercises/01_variables/variables1.rs geändert: exercises/01_variables/variables2.rs geändert: exercises/01_variables/variables3.rs geändert: exercises/01_variables/variables4.rs geändert: exercises/01_variables/variables5.rs geändert: exercises/01_variables/variables6.rs geändert: exercises/02_functions/functions1.rs geändert: exercises/02_functions/functions2.rs geändert: exercises/02_functions/functions3.rs geändert: exercises/02_functions/functions4.rs geändert: exercises/02_functions/functions5.rs geändert: exercises/03_if/if1.rs geändert: exercises/03_if/if2.rs geändert: exercises/03_if/if3.rs geändert: exercises/04_primitive_types/primitive_types1.rs geändert: exercises/04_primitive_types/primitive_types2.rs geändert: exercises/04_primitive_types/primitive_types3.rs geändert: exercises/04_primitive_types/primitive_types4.rs geändert: exercises/04_primitive_types/primitive_types5.rs geändert: exercises/04_primitive_types/primitive_types6.rs geändert: exercises/05_vecs/vecs1.rs geändert: exercises/05_vecs/vecs2.rs geändert: exercises/06_move_semantics/move_semantics1.rs geändert: exercises/06_move_semantics/move_semantics2.rs geändert: exercises/06_move_semantics/move_semantics3.rs geändert: exercises/06_move_semantics/move_semantics4.rs geändert: exercises/06_move_semantics/move_semantics5.rs geändert: exercises/06_move_semantics/move_semantics6.rs geändert: exercises/07_structs/structs1.rs geändert: exercises/07_structs/structs2.rs geändert: exercises/quiz1.rs neue Datei: rustlings
45 lines
846 B
Rust
45 lines
846 B
Rust
// 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 {
|
|
if fizzish == "fizz" {
|
|
"foo"
|
|
} else {
|
|
if fizzish == "fuzz" {
|
|
"bar"
|
|
} else {
|
|
if fizzish == "fizz" {
|
|
"foo"
|
|
} 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")
|
|
}
|
|
}
|