gpt4 book ai didi

rust - 如何将 RangeInclusive 转换为范围?

转载 作者:行者123 更新时间:2023-12-03 11:33:52 24 4
gpt4 key购买 nike

很明显我可以做类似的事情:

impl From<RangeInclusive<u32>> for Range<u32>{
fn from(r: RangeInclusive<u32>) -> Self {
(*r.start()..(r.end()+1))
}
}

但是我想知道是否已经有一个标准的功能?(我在快速谷歌后无法在 docs/中找到任何东西)。如果不是,人们将如何为每个 num 类型实现它,这样的实现是否会受到 rust 的欢迎,或者是否有一个尚未实现的原因?

最佳答案

不是每个 RangeInclusive可以转换为 Range ,这是 RangeInclusive 的主要原因存在。例如,0u32..=u32::MAX无法转换为 Range<u32>因为u32::MAX + 1超出了 u32 的范围.

可以想象Range<u32>可以实现 TryFrom<RangeInclusive<u32>> ,但这种转换很少是必要的。您通常应该使用 RangeBounds 编写通用 API,而不是在不同种类的范围之间进行转换。 .

关于rust - 如何将 RangeInclusive 转换为范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64393457/

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