相关疑难解决方法(0)

有没有办法在匹配中使用自定义模式,如正则表达式或函数?

我正在Rust写一个玩具编程语言.我在Ruby中构建了解析器逻辑原型:

def rd_tree(chars)
  loop do
    case c = chars.next
    when /\s/
      # whitespace stuff
    when "("
      # open paren stuff
    when ")"
      # close paren stuff
    else
      # default stuff
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

现在我将它转换为Rust:

fn rd_tree(chars: std::str::Chars) {
    while let Some(c) = chars.next() {
        if c.is_whitespace() {
            // whitespace stuff
        } else if c == '(' {
            // open paren stuff
        } else if c == ')' {
            // close paren stuff
        } else {
            // default stuff
        }
    } …
Run Code Online (Sandbox Code Playgroud)

pattern-matching rust

6
推荐指数
1
解决办法
1647
查看次数

标签 统计

pattern-matching ×1

rust ×1