diff options
| author | Hunter Kvalevog <hunter@kvog.sh> | 2026-10-02 21:53:51 -0500 |
|---|---|---|
| committer | Hunter Kvalevog <hunter@kvog.sh> | 2026-10-02 21:53:51 -0500 |
| commit | 4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 (patch) | |
| tree | 17ba62056d6b691dd0217b0e8f1b3a5826dce0f6 /rustlings/solutions/09_strings | |
| parent | 02d8f1c62896576e1266553a56980eddbc2a88d7 (diff) | |
rustlings: move to rust/
Diffstat (limited to 'rustlings/solutions/09_strings')
| -rw-r--r-- | rustlings/solutions/09_strings/strings1.rs | 9 | ||||
| -rw-r--r-- | rustlings/solutions/09_strings/strings2.rs | 15 | ||||
| -rw-r--r-- | rustlings/solutions/09_strings/strings3.rs | 49 | ||||
| -rw-r--r-- | rustlings/solutions/09_strings/strings4.rs | 38 |
4 files changed, 0 insertions, 111 deletions
diff --git a/rustlings/solutions/09_strings/strings1.rs b/rustlings/solutions/09_strings/strings1.rs deleted file mode 100644 index f7ba811..0000000 --- a/rustlings/solutions/09_strings/strings1.rs +++ /dev/null @@ -1,9 +0,0 @@ -fn current_favorite_color() -> String { - // Equivalent to `String::from("blue")` - "blue".to_string() -} - -fn main() { - let answer = current_favorite_color(); - println!("My current favorite color is {answer}"); -} diff --git a/rustlings/solutions/09_strings/strings2.rs b/rustlings/solutions/09_strings/strings2.rs deleted file mode 100644 index 7de311f..0000000 --- a/rustlings/solutions/09_strings/strings2.rs +++ /dev/null @@ -1,15 +0,0 @@ -fn is_a_color_word(attempt: &str) -> bool { - attempt == "green" || attempt == "blue" || attempt == "red" -} - -fn main() { - let word = String::from("green"); - - if is_a_color_word(&word) { - // ^ added to have `&String` which is automatically - // coerced to `&str` by the compiler. - println!("That is a color word I know!"); - } else { - println!("That is not a color word I know."); - } -} diff --git a/rustlings/solutions/09_strings/strings3.rs b/rustlings/solutions/09_strings/strings3.rs deleted file mode 100644 index ee6b56a..0000000 --- a/rustlings/solutions/09_strings/strings3.rs +++ /dev/null @@ -1,49 +0,0 @@ -fn trim_me(input: &str) -> &str { - input.trim() -} - -fn compose_me(input: &str) -> String { - // The macro `format!` has the same syntax as `println!`, but it returns a - // string instead of printing it to the terminal. - // Equivalent to `input.to_string() + " world!"` - format!("{input} world!") -} - -fn replace_me(input: &str) -> String { - input.replace("cars", "balloons") -} - -fn main() { - // You can optionally experiment here. -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn trim_a_string() { - assert_eq!(trim_me("Hello! "), "Hello!"); - assert_eq!(trim_me(" What's up!"), "What's up!"); - assert_eq!(trim_me(" Hola! "), "Hola!"); - assert_eq!(trim_me("Hi!"), "Hi!"); - } - - #[test] - fn compose_a_string() { - assert_eq!(compose_me("Hello"), "Hello world!"); - assert_eq!(compose_me("Goodbye"), "Goodbye world!"); - } - - #[test] - fn replace_a_string() { - assert_eq!( - replace_me("I think cars are cool"), - "I think balloons are cool", - ); - assert_eq!( - replace_me("I love to look at cars"), - "I love to look at balloons", - ); - } -} diff --git a/rustlings/solutions/09_strings/strings4.rs b/rustlings/solutions/09_strings/strings4.rs deleted file mode 100644 index 3c69b97..0000000 --- a/rustlings/solutions/09_strings/strings4.rs +++ /dev/null @@ -1,38 +0,0 @@ -fn string_slice(arg: &str) { - println!("{arg}"); -} - -fn string(arg: String) { - println!("{arg}"); -} - -fn main() { - string_slice("blue"); - - string("red".to_string()); - - string(String::from("hi")); - - string("rust is fun!".to_owned()); - - // Here, both answers work. - // `.into()` converts a type into an expected type. - // If it is called where `String` is expected, it will convert `&str` to `String`. - string("nice weather".into()); - // But if it is called where `&str` is expected, then `&str` is kept `&str` since no conversion is needed. - // If you remove the `#[allow(…)]` line, then Clippy will tell you to remove `.into()` below since it is a useless conversion. - #[allow(clippy::useless_conversion)] - string_slice("nice weather".into()); - - string(format!("Interpolation {}", "Station")); - - // WARNING: This is byte indexing, not character indexing. - // Character indexing can be done using `s.chars().nth(INDEX)`. - string_slice(&String::from("abc")[0..1]); - - string_slice(" hello there ".trim()); - - string("Happy Monday!".replace("Mon", "Tues")); - - string("mY sHiFt KeY iS sTiCkY".to_lowercase()); -} |