2
Shunting-yardアルゴリズムを使用して、中置式を後置式に変換するコンテキストで使用します。私はベクトルを使用して演算子と数値型のデータを格納する出力を格納したいと考えています。 to_string()
方法はOperator
に定義されていないのでベクトルは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());
}
勿論この上記のコードは、コンパイルされません。
- 番号と
Operator
への参照を格納するためのベクトルを作成しto_string()
方法 - を定義します。私はそれを修正するには、次の2つの方法が表示されます。
参考文献のベクトルを作成すると複雑さが増すかどうかはわかりませんが、2番目が好ましい選択肢だと思います。
を参照してください。列挙型は同じサイズです。本当にありがとう! – enaJ