From c241eebbb65b2aafe174bd59b97de25b166471bb Mon Sep 17 00:00:00 2001 From: Tanish-Eagle Date: Wed, 20 Apr 2022 22:16:19 +0530 Subject: [PATCH] Fixed mistakes and missing semicolon in enum --- en/src/compound-types/enum.md | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/en/src/compound-types/enum.md b/en/src/compound-types/enum.md index 19a61a2..d5d1d81 100644 --- a/en/src/compound-types/enum.md +++ b/en/src/compound-types/enum.md @@ -3,7 +3,7 @@ ```rust,editable -// fix the errors +// Fix the errors enum Number { Zero, One, @@ -25,18 +25,18 @@ enum Number2 { fn main() { - // a enum variant can be converted to a integer by `as` + // An enum variant can be converted to a integer by `as` assert_eq!(Number::One, Number1::One); assert_eq!(Number1::One, Number2::One); - println!("Success!") + println!("Success!"); } ``` -2. 🌟 each enum variant can hold its own data. +2. 🌟 Each enum variant can hold its own data. ```rust,editable -// fill in the blank +// Fill in the blank enum Message { Quit, Move { x: i32, y: i32 }, @@ -45,17 +45,17 @@ enum Message { } fn main() { - let msg1 = Message::Move{__}; // instantiating with x = 1, y = 2 - let msg2 = Message::Write(__); // instantiating with "hello, world!" + let msg1 = Message::Move{__}; // Instantiating with x = 1, y = 2 + let msg2 = Message::Write(__); // Instantiating with "hello, world!" - println!("Success!") + println!("Success!"); } ``` -3. 🌟🌟 we can get the data which a enum variant is holding by pattern match +3. 🌟🌟 We can get the data which an enum variant is holding by pattern match. ```rust,editable -// fill in the blank and fix the error +// Fill in the blank and fix the error enum Message { Quit, Move { x: i32, y: i32 }, @@ -72,7 +72,7 @@ fn main() { panic!("NEVER LET THIS RUN!"); } - println!("Success!") + println!("Success!"); } ``` @@ -80,7 +80,7 @@ fn main() { ```rust,editable -// fill in the blank and fix the errors +// Fill in the blank and fix the errors enum Message { Quit, Move { x: i32, y: i32 }, @@ -105,11 +105,11 @@ fn show_message(msg: Message) { } ``` -5. 🌟🌟 As there is no `null` in Rust, we have to use enum `Option` to deal the cases when value is absent. +5. 🌟🌟 Since there is no `null` in Rust, we have to use enum `Option` to deal with the cases when the value is absent. ```rust,editable -// fill in the blank to make the `println` work. -// also add some code to prevent the `panic` from running. +// Fill in the blank to make the `println` work. +// Also add some code to prevent the `panic` from running. fn main() { let five = Some(5); let six = plus_one(five); @@ -118,7 +118,7 @@ fn main() { if let __ = six { println!("{}", n); - println!("Success!") + println!("Success!"); } panic!("NEVER LET THIS RUN!"); @@ -133,7 +133,7 @@ fn plus_one(x: Option) -> Option { ``` -6. 🌟🌟🌟🌟 implement a `linked-list` via enums. +6. 🌟🌟🌟🌟 Implement a `linked-list` via enums. ```rust,editable @@ -166,12 +166,12 @@ impl List { // depends on the variant of `self` // `self` has type `&List`, and `*self` has type `List`, matching on a // concrete type `T` is preferred over a match on a reference `&T` - // after Rust 2018 you can use self here and tail (with no ref) below as well, + // After Rust 2018 you can use self here and tail (with no ref) below as well, // rust will infer &s and ref tail. // See https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/default-match-bindings.html match *self { // Can't take ownership of the tail, because `self` is borrowed; - // instead take a reference to the tail + // Instead take a reference to the tail Cons(_, ref tail) => 1 + tail.len(), // Base Case: An empty list has zero length Nil => 0