小编mar*_*njs的帖子

Ruby:在数组中查找下一个匹配的索引,或者使用offset查找

我希望Array#find_index { |item| block }第一次在比赛后找到更多的比赛.如何搜索第二场比赛,第三场比赛等的索引?

换句话说,我想要相当于for 的pos参数.然后我可以保持当前位置索引继续搜索.Regexp#match(str, pos)Array#find_index

我无法使用,Enumerable#find_all因为我可能会在调用之间修改数组(在这种情况下,我还会调整当前位置索引以反映修改).我不想复制部分数组,因为这会增加我的算法的计算复杂性.我想这样做而不复制数组:

new_pos = pos + array[pos..-1].find_index do |elem|
    elem.matches_condition?
end
Run Code Online (Sandbox Code Playgroud)

以下是不同的问题.他们只询问数组中的第一个匹配,加上一个:

以下问题更接近,但仍然无法帮助我,因为我需要在继续下一个之前处理第一个匹配(这种方式也与修改冲突):

ruby arrays

5
推荐指数
1
解决办法
634
查看次数

标签 统计

arrays ×1

ruby ×1