【发布时间】:2020-10-12 15:49:57
【问题描述】:
我有几个枚举:
enum Foo {
A(A),
B(B)
}
enum A {
C(i32),
D(i32)
}
enum B {
E(i32),
F(i32)
}
我如何编写一个接受Foo 的函数并检查它是否是B::E,然后返回Option<Foo>?
编辑:为澄清起见,枚举值作为参数传递。我尝试使用 f(value: Foo, expected: Foo) 的签名来执行此操作,但我不确定如何调用它,因为(再次使用 B::E)编译器需要提供 i32。
【问题讨论】:
-
这是学习 Rust 的第一天。我建议您在继续之前阅读The Rust Book,否则您将需要不断地提出这些简单的问题,这些问题对其他任何来到 Stackoverflow 的人都没有用处。
-
抱歉,我的意思没有解释清楚。
-
如果您包含一个 minimal reproducible example 来显示您正在尝试执行的操作以及您遇到的错误,将会很有帮助。现在的情况是,人们只需要猜测你在尝试什么。