背景:Rust 有match构造,这对于制作(可能)详尽的案例及其相应结果列表非常有用。问题是:如何创建一个包含许多案例子集的案例?
关于我的具体问题,我正在制作一个词法分析器,它逐个字符地读取字符串并吐出标记。它的主要功能如下所示:
\n(...)\n fn new(input: &str) -> Lexer {\n let mut characters = input.chars();\n for c in characters {\n let mut token: Option<Token> = match c {\n \'+\' => Some(Token::Add),\n \'-\' => Some(Token::Minus),\n \'*\' => Some(Token::Mul),\n \'/\' => Some(Token::Div),\n \'e\' => Some(Token::EulersNum),\n \'\xcf\x80\' => Some(Token::Pi),\n \'(\' => Some(Token::LeftParen),\n \')\' => Some(Token::RightParen),\n \' \' | \'\\t\' | \'\\n\' => continue, //Whitespace\n _ => None\n };\n\n if token == None {\n continue;\n }\n }\n\n todo!()\n }\n(...)\n …Run Code Online (Sandbox Code Playgroud) rust ×1