Project Setup
Part of the Logic & Flow section of Coddy's Rust journey — lesson 49 of 66.
Challenge
EasyYou will receive a single input: a comma-separated list of task descriptions. Create an empty mutable vector to store the tasks, split the input by commas, add each task to the vector, and print the total number of tasks followed by each task on a separate line.
Requirements:
- Read the input containing comma-separated task descriptions (e.g.,
Buy groceries,Call dentist,Finish homework) - Create an empty mutable vector of type
Vec<String> - Split the input string by commas to get individual tasks
- Use
.push()to add each task to the vector - Print the total number of tasks in the format:
Total tasks: X - Print each task on a separate line in the format:
Task: [task description]
Input:
- A single line containing comma-separated task descriptions (e.g.,
Buy groceries,Call dentist,Finish homework)
Output:
- First line:
Total tasks: Xwhere X is the number of tasks - Following lines: Each task printed as
Task: [task description]
Try it yourself
use std::io;
fn main() {
// Read input
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let input = input.trim();
// TODO: Write your code below
// Create an empty mutable vector
// Split the input by commas
// Add each task to the vector using .push()
// Print the total number of tasks
// Print each task
}All lessons in Logic & Flow
1Advanced Control Flow
The 'match' ExpressionMatching Multiple ValuesMatching RangesThe 'if let' ExpressionLoops as ExpressionsRecap - Simple Command Parser4Grouping Data with Structs
What is a Struct?Structs OverviewAccessing Struct FieldsMutable StructsStructs as Function ParametersTuple StructsRecap - Create a Book Struct7Handling Errors with 'Result'
What is a 'Result'?Using 'match' with 'Result'is_ok() and is_err()Shortcuts: unwrap and expectThe Question Mark Operator '?'Parsing Strings to NumbersRecap - Safe Division Function10Closures & Anonymous Functions
What is a Closure?Defining a Simple ClosureClosures with ParametersCapturing the EnvironmentRecap - Simple Adder Closure2Introduction to Vectors
What is a Vector?Creating a VectorAdding Elements with pushAccessing Vector ElementsIterating Over a VectorMutable IterationRemoving ElementsRecap - Basic Score Tracker5Key-Value Pairs with Hash Maps
What is a Hash Map?Creating a Hash MapInserting Key-Value PairsAccessing ValuesIterating Over a Hash MapUpdating a ValueRemoving a PairRecap - Word Counter8Project: Simple Item Inventory
Project SetupAdding an ItemChecking StockSelling an ItemPutting it all together