diff --git a/src/control-flow/match-expressions.md b/src/control-flow/match-expressions.md index 50977ceb6cfd..05a47871236a 100644 --- a/src/control-flow/match-expressions.md +++ b/src/control-flow/match-expressions.md @@ -5,13 +5,16 @@ that sense, it works like a series of `if let` expressions: ```rust,editable fn main() { - match std::env::args().next().as_deref() { - Some("cat") => println!("Will do cat things"), - Some("ls") => println!("Will ls some files"), - Some("mv") => println!("Let's move some files"), - Some("rm") => println!("Uh, dangerous!"), - None => println!("Hmm, no program name?"), - _ => println!("Unknown program name!"), + let args: Vec = std::env::args().collect(); + + for s in &args[1..] { + match &s[..] { + "cat" => println!("Will do cat things"), + "ls" => println!("Will ls some files"), + "mv" => println!("Let's move some files"), + "rm" => println!("Uh, dangerous!"), + _ => println!("Unknown program name!"), + } } } ```