gpt4 book ai didi

error-handling - 如何重用 `Result`?

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

以下内容无法编译。进行这项工作的规范方法是什么?

let file = File::open(&args.path)?;
let reader = BufReader::new(file);

for line in reader.lines() {
if line?.contains(&args.pattern) {
println!("{}", line?);
}
}
为了完整起见,这是错误消息:
34 |      println!("{}", line?);
| ^^^^ value used here after move

最佳答案

在您的示例中lineResult,当您使用?时会 move 它(但是在您解开了内容之后,我们真的需要Result吗?)。为了缓解您的问题,让我们将Result的值隐藏在同名的本地变量中。

for line in reader.lines() {
let line = line?;
if line.contains(&args.pattern) {
println!("{}", line);
}
}

关于error-handling - 如何重用 `Result`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62490220/

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