问题描述
所以基本上我有这个:
let mut sortednumbers = numbers.clone();
sortednumbers.sort_by(|a,b| b.rational.cmp(&a.rational));
其中 numbers
是 &[..]
我想以某种方式对 sortednumbers
向量进行排序,但引用不是可变的。有什么想法吗?
解决方法
如果 numbers
是一个 &[T]
,那么 numbers.clone()
也是一个 &[T]
,指的是同一个数组。您需要的是 numbers.to_vec()
或 numbers.to_owned()
,它们为您提供一个 Vec<T>
,然后您可以对其进行修改。