mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-25 00:00:05 +03:00
if2 solution
This commit is contained in:
parent
7cdf6b7942
commit
eafb157d60
|
@ -1,6 +1,4 @@
|
|||
// Step 1: Make me compile!
|
||||
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
|
||||
|
||||
// TODO: Fix the compiler error on this function.
|
||||
fn foo_if_fizz(fizzish: &str) -> &str {
|
||||
if fizzish == "fizz" {
|
||||
"foo"
|
||||
|
@ -13,13 +11,15 @@ fn main() {
|
|||
// You can optionally experiment here.
|
||||
}
|
||||
|
||||
// No test changes needed!
|
||||
// TODO: Read the tests to understand the desired behavior.
|
||||
// Make all tests pass without changing them.
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn foo_for_fizz() {
|
||||
// This means that calling `foo_if_fizz` with the argument "fizz" should return "foo".
|
||||
assert_eq!(foo_if_fizz("fizz"), "foo");
|
||||
}
|
||||
|
||||
|
|
|
@ -209,8 +209,10 @@ name = "if2"
|
|||
dir = "03_if"
|
||||
hint = """
|
||||
For that first compiler error, it's important in Rust that each conditional
|
||||
block returns the same type! To get the tests passing, you will need a couple
|
||||
conditions checking different input values."""
|
||||
block returns the same type!
|
||||
|
||||
To get the tests passing, you will need a couple conditions checking different
|
||||
input values. Read the tests to find out what they expect."""
|
||||
|
||||
[[exercises]]
|
||||
name = "if3"
|
||||
|
|
|
@ -1 +1,33 @@
|
|||
// Solutions will be available before the stable release. Thank you for testing the beta version 🥰
|
||||
fn foo_if_fizz(fizzish: &str) -> &str {
|
||||
if fizzish == "fizz" {
|
||||
"foo"
|
||||
} else if fizzish == "fuzz" {
|
||||
"bar"
|
||||
} else {
|
||||
"baz"
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
// You can optionally experiment here.
|
||||
}
|
||||
|
||||
#[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");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue