summaryrefslogtreecommitdiff
path: root/rustlings/solutions/09_strings
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
commit4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 (patch)
tree17ba62056d6b691dd0217b0e8f1b3a5826dce0f6 /rustlings/solutions/09_strings
parent02d8f1c62896576e1266553a56980eddbc2a88d7 (diff)
rustlings: move to rust/
Diffstat (limited to 'rustlings/solutions/09_strings')
-rw-r--r--rustlings/solutions/09_strings/strings1.rs9
-rw-r--r--rustlings/solutions/09_strings/strings2.rs15
-rw-r--r--rustlings/solutions/09_strings/strings3.rs49
-rw-r--r--rustlings/solutions/09_strings/strings4.rs38
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());
-}