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/exercises/quizzes/quiz2.rs | 81 ------------------------------------ 1 file changed, 81 deletions(-) delete mode 100644 rustlings/exercises/quizzes/quiz2.rs (limited to 'rustlings/exercises/quizzes/quiz2.rs') diff --git a/rustlings/exercises/quizzes/quiz2.rs b/rustlings/exercises/quizzes/quiz2.rs deleted file mode 100644 index fd32810..0000000 --- a/rustlings/exercises/quizzes/quiz2.rs +++ /dev/null @@ -1,81 +0,0 @@ -// This is a quiz for the following sections: -// - Strings -// - Vecs -// - Move semantics -// - Modules -// - Enums -// -// Let's build a little machine in the form of a function. As input, we're going -// to give a list of strings and commands. These commands determine what action -// is going to be applied to the string. It can either be: -// - Uppercase the string -// - Trim the string -// - Append "bar" to the string a specified amount of times -// -// The exact form of this will be: -// - The input is going to be a Vector of 2-length tuples, -// the first element is the string, the second one is the command. -// - The output element is going to be a vector of strings. - -enum Command { - Uppercase, - Trim, - Append(usize), -} - -mod my_module { - use super::Command; - - // TODO: Complete the function as described above. - // pub fn transformer(input: ???) -> ??? { ??? } - pub fn transformer(input: Vec<(String, Command)>) -> Vec { - let mut out = Vec::new(); - for inp in input { - out.push(match inp.1 { - Command::Uppercase => inp.0.to_uppercase(), - Command::Trim => String::from(inp.0.trim()), - Command::Append(n) => { - let mut r = inp.0; - for _ in 0..n { - r += "bar"; - } - r - } - }); - } - out - } -} - -fn main() { - // You can optionally experiment here. -} - -#[cfg(test)] -mod tests { - // TODO: What do we need to import to have `transformer` in scope? - // use ???; - use super::Command; - use super::my_module::transformer; - - #[test] - fn it_works() { - let input = vec![ - ("hello".to_string(), Command::Uppercase), - (" all roads lead to rome! ".to_string(), Command::Trim), - ("foo".to_string(), Command::Append(1)), - ("bar".to_string(), Command::Append(5)), - ]; - let output = transformer(input); - - assert_eq!( - output, - [ - "HELLO", - "all roads lead to rome!", - "foobar", - "barbarbarbarbarbar", - ] - ); - } -} -- cgit v1.2.3