enums - 如何在模式匹配中忽略类结构枚举变体的成员?

标签 enums rust

如何从以下代码中删除 unused_variables 警告?

pub enum Foo {
    Bar {
        a: i32,
        b: i32,
        c: i32,
    },
    Baz,
}

fn main() {
    let myfoo = Foo::Bar { a: 1, b: 2, c: 3 };
    let x: i32 = match myfoo {
        Foo::Bar { a, b, c } => b * b,
        Foo::Baz => -1,
    };
    assert_eq!(x, 4);
}

我知道我可以在某个点之后忽略结构成员:

Foo::Bar { a, .. } => // do stuff with 'a'

但我在任何地方都找不到解释如何忽略单个结构成员的文档。

Code on Rust Playground

最佳答案

I know I can ignore struct members after a certain point with:

.. 不是定位的。它只是表示“所有其他字段”:

Foo::Bar { b, .. } => b * b,

关于enums - 如何在模式匹配中忽略类结构枚举变体的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031280/

相关文章:

java - 根据枚举输入返回类

rust - 如何允许弃用的功能?

rust - 符号 : used in the Debug placeholder {:? } 是什么?

python - 自动将枚举成员的值设置为其名称

c++ - 是否可以使结构直接返回值?

java - Java 中可配置的枚举

objective-c - 我可以向 Objective-C 枚举添加方法吗?

rust - 从单个元素创建迭代器

rust - 如何在 Rust 中将字符串转换为二进制字符串?

compiler-errors - 获取 'Missing Lifetime specifier' 错误