gpt4 book ai didi

sorting - rust 添加.sort_by生成错误: expected struct `Vec` ,发现 `()`

转载 作者:行者123 更新时间:2023-12-03 11:41:26 25 4
gpt4 key购买 nike

鉴于以下可编译的代码,

let alerts : Vec<Alert> = serde_json::from_value::<Vec<Alert>>(json) 
.unwrap();
如何添加 .sort_by_key导致错误
expected struct `Vec`, found `()`

产生错误的代码是,
let alerts : Vec<Alert> = serde_json::from_value::<Vec<Alert>>(json)
.unwrap()
.sort_by_key( |e| e.pub_millis );

最佳答案

从Vec的文档中:

pub fn sort_by_key<K, F>(&mut self, f: F) where
F: FnMut(&T) -> K,
K: Ord
该函数没有返回值,而是对切片进行原位排序。因此,它不能用作链式函数,必须给它一个可变值。如果您希望Alerts变量是不可变的,则可以使用Temporary mutability惯用语,使其可变性的时间只有足够长的时间才能对其进行排序。 https://rust-unofficial.github.io/patterns/idioms/temporary-mutability.html

关于sorting - rust 添加.sort_by生成错误: expected struct `Vec` ,发现 `()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66556711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com