2
在使用調車碼算法將中綴表達式轉換爲後綴的情況下。我想使用一個向量來存儲輸出,它將存儲運算符和數字類型的數據。向量存儲Rust中的混合類型數據
#[derive(Clone, Copy, Debug, PartialEq)]
pub enum Operator {
Add,
Sub,
Mul,
Div,
}
fn main() {
let mut output: Vec<String> = Vec::new(); // create an output vector
let a = 2;
let b = Operator::Add;
let c = 3;
output.push(a.to_string());
output.push(b.to_string());
output.push(c.to_string());
}
這上面當然代碼不編譯,由於to_string()
方法沒有用於Operator
定義。我看到兩種方法來解決這個問題:
- 定義
to_string()
方法 - 創建一個向量來存儲數字和
Operator
引用。
我認爲第二個是首選,但我不知道創建引用向量是否會引入很多複雜性。
我明白了。由於枚舉的大小相同。非常感謝! – enaJ