小编Gir*_*Key的帖子

是否可以在 Rust 的 match 语句中包含现有变量?

例如,在 Elixir 的case 语句中,以下代码是有效的,并且将匹配 10 到 1:

x = 1
case 10 do
    ^x -> "Won't match"
    _ -> "Will match"
end
Run Code Online (Sandbox Code Playgroud)

然而,在 Rust 中,^ 不是此用例的有效运算符。它只是给出一个错误,显示类似“预期模式,找到 ^”之类的内容。我尝试这样做:

let x = 1;
match 10 {
    x => "Won't match",
    _ => "Will match",
}
Run Code Online (Sandbox Code Playgroud)

但它将 10 绑定到 x 并返回“Won't match”(相当于“x @ _”)。有没有一种方法可以动态包含 x,以便无论 x 是什么,它都会与其值匹配?(注意:我意识到我可以只使用 if 语句,但我很好奇 match 语句是否提供了解决方案)

pattern-matching rust

0
推荐指数
1
解决办法
1413
查看次数

标签 统计

pattern-matching ×1

rust ×1