作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 Java 背景,我可能有类似 enum Direction { NORTH, SOUTH, EAST, WEST}
的东西,我可以用增强的 for 循环依次对每个值做一些事情喜欢:
for(Direction dir : Direction.values()) {
//do something with dir
}
我想对 Rust 枚举做类似的事情。
最佳答案
您可以使用 strum crate 以轻松地遍历枚举的值。
use strum::IntoEnumIterator; // 0.17.1
use strum_macros::EnumIter; // 0.17.1
#[derive(Debug, EnumIter)]
enum Direction {
NORTH,
SOUTH,
EAST,
WEST,
}
fn main() {
for direction in Direction::iter() {
println!("{:?}", direction);
}
}
输出:
NORTH
SOUTH
EAST
WEST
关于enums - 在 Rust 中,有没有一种方法可以遍历枚举的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371534/
我是一名优秀的程序员,十分优秀!