我正在尝试使用Rust构建一个简单的牌组生成器。由于我刚接触这门语言,所以还没有完全掌握。
我想要迭代枚举类型Suits和Values,创建一个Card结构体,并将其推入Deck的cards向量中。
到目前为止,我尝试使用静态枚举并像这样迭代它:
static SUITE_ITER: [Cards::Suits; 4] = [
Cards::Suits::HEARTS,
Cards::Suits::CLUBS,
Cards::Suits::DIAMONDS,
Cards::Suits::SPADES
];
for suit in SUITE_ITER.into_iter() {...}
然而,我收到了这个错误信息,但我并不完全理解。有什么提示吗?
无法移动静态项SUITE_ITER
。移动发生的原因是SUITE_ITER
具有类型[Suits; 4]
,它没有实现Copy
trait。
for suit in &SUITE_ITER { ... }
- Jmbenum Suits
的定义前面添加#[derive(Copy)]
。 - user4815162342