簡體   English   中英

如何在銹中聲明可比較材料的通用矢量

[英]How to declare a generic vector of comparable stuffs in rust

如何在Rust中定義可比向量?

說, i32i16 ...

我嘗試了arr: Vec<Ord>但是編譯器抱怨the trait "std::cmp::Ord" cannot be made into an object

基本上,我需要存儲可比較對象向量的向量。 例如

    struct Setup<T: Ord + Copy> {
        arr: Vec<Vec<T>>
    }

    impl<T: Ord + Copy> Setup<T> {
        fn new() -> Self {
            Self {
                arr: vec![
                    vec![1, 2, 3, 4, 5],
                    vec![1.0, 2.0, 3.0]
                ]
            }
        }
    }

我希望他們可以得到類似產品的向量,而不是讓消費者決定類型是什么。

Vec<Ord>類型將是Vec ,其中每個項目都是一個特征對象。 您要做的是執行Vec<T> ,然后將T上綁定的特征設置為: Ord ,例如

struct Foo<T: Ord> {
  arr: Vec<T>,
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM