在 Rust 中“组合”枚举的正确方法

互联网 行业动态 更新时间:2024-06-13 00:19:06

Net*_*ave 5

您可以From为每个内部类型实现。通过实现它,您可以调用Into::into内部类型实例来获取外部枚举表示:

struct Coordinate{
    x:f64,    y:f64,    z:f64
}

enum AminoAcid {
    VAL, GLN ,ARG,
    LEU, THR ,TYR,
    SER, PRO ,CYS,
    GLY, ALA ,MET
}

enum Token {
    Coordinate(Coordinate),
    AminoAcid(AminoAcid)
}

impl From<Coordinate> for Token {
    fn from(coord: Coordinate) -> Self {
        Self::Coordinate(coord)
    }
}

impl From<AminoAcid> for Token {
    fn from(aminoacid: AminoAcid) -> Self {
        Self::AminoAcid(aminoacid)
    }
}

// Want a function that returns a list of legal tokens given a &line.
fn _process_line(line:&str)->Vec<Token>{
    return vec![AminoAcid::ARG.into()];
}

操场

更多推荐

组合,正确,方法,Rust

本文发布于:2023-04-20 20:37:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/7c65db43f5be6959c7194048ac204b0f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组合   正确   方法   Rust

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!