From 4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 Mon Sep 17 00:00:00 2001 From: Hunter Kvalevog Date: Fri, 2 Oct 2026 21:53:51 -0500 Subject: rustlings: move to rust/ --- rustlings/solutions/09_strings/strings1.rs | 9 ------ rustlings/solutions/09_strings/strings2.rs | 15 --------- rustlings/solutions/09_strings/strings3.rs | 49 ------------------------------ rustlings/solutions/09_strings/strings4.rs | 38 ----------------------- 4 files changed, 111 deletions(-) delete mode 100644 rustlings/solutions/09_strings/strings1.rs delete mode 100644 rustlings/solutions/09_strings/strings2.rs delete mode 100644 rustlings/solutions/09_strings/strings3.rs delete mode 100644 rustlings/solutions/09_strings/strings4.rs (limited to 'rustlings/solutions/09_strings') 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()); -} -- cgit v1.2.3