gpt4 book ai didi

rust - 是否存在可用于引用切片的最后 N 个元素的范围表达式?

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

我有一个未知长度的切片,我想尝试获取该切片的最后 N 个元素的切片。我能想到的唯一方法如下(例如,对于 4 个元素):

if let [.., a, b, c, d] = my_slice {
//...
}

虽然这感觉很麻烦。我本以为 range expressions 之一会提供这个功能,但他们似乎都没有这样做......还有另一种方法吗?理想情况下,我将能够使用切片而不是上面示例中的单个值 a、b、c、d。

最佳答案

我喜欢你的解决方案,但你可以使用 get .一个简单的版本如下所示:

fn last4<T>(slc: &[T]) -> Option<&[T]> {
slc.get(slc.len()-4..slc.len())
}

在实践中,您需要检查 slc.len() 是否至少为 4。

查看实际效果:https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2c9472aea45cf23b1f46b54de7132cd7 .

关于rust - 是否存在可用于引用切片的最后 N 个元素的范围表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64116761/

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