Ruby 有一个select
方法,它接受一个数组并返回一个子数组,该子数组由通过块中给出的测试的所有元素组成:
myarray.select{|e| mytest(e)} #=> subarray of elements passing mytest
我想知道是否有一种简单的方法可以不获取这些元素,而是获取它们的索引。我知道你可以这样做:
indices = []
myarray.each_with_index{|e,i| indices << i if mytest(e)}
但我正在寻找单线。一个存在吗?请不要为 Array 类编写扩展,我知道您可以通过这种方式获得单行。