simplify scanning
change ylzxvxvokpuvnwmwxqquzklmklpqnllp
commit 7262a530b34305b7c5ab795c7e64b3c801c8f021
author Alpha Chen <alpha@kejadlen.dev>
date
parent oolxyxpr
diff --git a/rust/src/scanner.rs b/rust/src/scanner.rs
index 69e0977..d8c9121 100644
--- a/rust/src/scanner.rs
+++ b/rust/src/scanner.rs
@@ -22,15 +22,9 @@ impl<'a> Scanner<'a> {
             return self.make_token(TokenKind::Eof);
         }
 
-        let c = self.advance();
-        if is_alpha(c) {
-            return self.identifier();
-        }
-        if c.is_ascii_digit() {
-            return self.number();
-        }
-
-        return match c {
+        match self.advance() {
+            c if is_alpha(c) => self.identifier(),
+            c if c.is_ascii_digit() => self.number(),
             '(' => self.make_token(TokenKind::LeftParen),
             ')' => self.make_token(TokenKind::RightParen),
             '{' => self.make_token(TokenKind::LeftBrace),
@@ -72,7 +66,7 @@ impl<'a> Scanner<'a> {
             }
             '"' => self.string(),
             _ => self.error_token("Unexpected character."),
-        };
+        }
     }
 
     fn make_token(&self, kind: TokenKind) -> Result<Token> {