gpt4 book ai didi

arrays - 如何在iter的位置方法中访问索引?

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

我正在尝试打印数组中的第一个数字,它的1不完全大于前一个数字(在以下示例中,预期结果是7)。
我写了&n > 0 &&以避免检查第一个数字之前的(不存在)数字。

fn main() {
let numbers = [4, 5, 7];
let result = numbers.iter().position(|&n| &n > 0 && n != numbers[&n - 1] + 1);
println!("{:?}", result);
}
我收到有关 0的此编译器错误:

expected reference, found integer

help: consider borrowing here: &0


基本上,我正在尝试执行此JavaScript的操作:
numbers.find((n, i) => i && n != numbers[i - 1] + 1);
有人可以告诉我我在做什么错吗?
我假设 n是值,而 &n是索引。如果那是不正确的,那我如何在兰巴内部获取索引呢?

最佳答案

windows(2) iterator切片中查看每对两个连续项的另一种方法:

fn find_non_consecutive(a: &[i32]) -> Option<i32> {
a.windows(2).find(|x| x[0] + 1 != x[1]).map(|x| x[1])
}

关于arrays - 如何在iter的位置方法中访问索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63332856/

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