我想构建一个自定义方法Array#drop_every(n)
(我知道它是猴子补丁,我正在做这个作业),它返回一个省略每个第 n 个元素的新数组:
[4, 8, 15, 16, 23, 42].drop_every(2) # [4, 15, 23]
我想用 来实现它Array#delete_if
,但是通过引用索引而不是元素本身,(类似于each_index
)是这样的:
def drop_every(step)
self.delete_if { |index| index % step == 0 }
end
我该怎么做呢?我不坚持使用delete_if
,我也看过 ,drop_while
欢迎reject
其他建议。