strings and modules

This commit is contained in:
2026-01-25 15:49:17 +00:00
parent 26f785a0ff
commit 82f597d052
5 changed files with 20 additions and 18 deletions

View File

@@ -1,13 +1,15 @@
fn trim_me(input: &str) -> &str {
// TODO: Remove whitespace from both ends of a string.
input.trim()
}
fn compose_me(input: &str) -> String {
// TODO: Add " world!" to the string! There are multiple ways to do this.
let mut tmp = input.to_string();
tmp.push_str(" world!");
tmp
}
fn replace_me(input: &str) -> String {
// TODO: Replace "cars" in the string with "balloons".
input.replace("cars", "balloons")
}
fn main() {

View File

@@ -13,25 +13,26 @@ fn string(arg: String) {
// Your task is to replace `placeholder(…)` with either `string_slice(…)`
// or `string(…)` depending on what you think each value is.
fn main() {
placeholder("blue");
string_slice("blue");
placeholder("red".to_string());
string("red".to_string());
placeholder(String::from("hi"));
string(String::from("hi"));
placeholder("rust is fun!".to_owned());
string("rust is fun!".to_owned());
placeholder("nice weather".into());
#[allow(clippy::useless_conversion)]
string_slice("nice weather".into());
placeholder(format!("Interpolation {}", "Station"));
string(format!("Interpolation {}", "Station"));
// WARNING: This is byte indexing, not character indexing.
// Character indexing can be done using `s.chars().nth(INDEX)`.
placeholder(&String::from("abc")[0..1]);
string_slice(&String::from("abc")[0..1]);
placeholder(" hello there ".trim());
string_slice(" hello there ".trim());
placeholder("Happy Monday!".replace("Mon", "Tues"));
string("Happy Monday!".replace("Mon", "Tues"));
placeholder("mY sHiFt KeY iS sTiCkY".to_lowercase());
string("mY sHiFt KeY iS sTiCkY".to_lowercase());
}

View File

@@ -5,7 +5,7 @@ mod sausage_factory {
String::from("Ginger")
}
fn make_sausage() {
pub fn make_sausage() {
get_secret_recipe();
println!("sausage!");
}

View File

@@ -2,9 +2,8 @@
// the `use` and `as` keywords.
mod delicious_snacks {
// TODO: Add the following two `use` statements after fixing them.
// use self::fruits::PEAR as ???;
// use self::veggies::CUCUMBER as ???;
pub use self::fruits::PEAR as fruit;
pub use self::veggies::CUCUMBER as veggie;
mod fruits {
pub const PEAR: &str = "Pear";

View File

@@ -4,7 +4,7 @@
// TODO: Bring `SystemTime` and `UNIX_EPOCH` from the `std::time` module into
// your scope. Bonus style points if you can do it with one line!
// use ???;
use std::time::{SystemTime, UNIX_EPOCH};
fn main() {
match SystemTime::now().duration_since(UNIX_EPOCH) {
Ok(n) => println!("1970-01-01 00:00:00 UTC was {} seconds ago!", n.as_secs()),