Я хочу напечатать данные перечисления кортежей без именованных полей.
Кортеж - это общий способ объединения некоторого числа других значений с различными типами в один составной тип.
#[derive(Debug)]
enum Coin {
Penny(String),
Nickel { id: String },
}
fn main() {
let penny = Coin::Penny(String::from("penny"));
let nickel: Coin = Coin::Nickel { id: String::from("nickel") };
println!("{} {:?} ", penny.0, penny);
println!("{:?}", nickel);
}
В этом примере Nickel
является структурно-подобным вариантом перечисления, тогда как Penny
просто называется перечислением варианта .
Я получаю ошибку компилятора:
error[E0609]: no field `0` on type `Coin`
For more information about this error, try `rustc --explain E0609`.