gpt4 book ai didi

rust - 在flat_map中返回不同种类的迭代器

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

在以下代码片段中,Rust提示返回类型不匹配。

let line = String::new();    // assume string has content
let line: String = line.bytes()
.flat_map(|b| {
if b > 0x7F {
format!("M-{}", char::from(b - 0x7F)).bytes()
}
else {
[b].into_iter() // error happens here
}
})
.map(|b| { char::from(b) })
.collect();
错误如下:

if and else have incompatible types
expected type std::str::Bytes<'_>
found struct std::slice::Iter<'_, u8>


如何避免这种情况?

最佳答案

我得到了答案here
最简单的解决方案是使用either条板箱。

关于rust - 在flat_map中返回不同种类的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65554428/

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