[英]rust name fields in enum
是否可以命名或以其他方式描述 rust 中的enum
字段?
讓我們看看這段代碼
enum Move {
Capture(Piece, Piece, (i8, i8), (i8, i8)),
...
}
每個值的含義可能並不明顯,在這種情況下,第一塊是我的塊,它捕獲了第二塊,從而從第一個 position ( (i8, i8)
) 移動到第二個。
理想是這樣的
enum Move {
Capture(piece: Piece, captured: Piece, from: (i8, i8), to: (i8, i8)),
...
}
遺憾的是,這不起作用。
有什么方法可以讓我的enum
更具描述性(除了評論)?
您可以使用嵌入式結構,例如:
enum Move {
Capture{piece: Piece, captured: Piece, from: (i8, i8), to: (i8, i8)},
...
}
或者更好的是,把它們帶到外面,在那里你可以對它們實現方法,然后將它嵌入到你的枚舉中:
struct Capture{piece: Piece, captured: Piece, from: (i8, i8), to: (i8, i8)};
impl Capture {
...
}
enum Move {
Capture(Capture),
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.