我想構建一個自定義方法Array#drop_every(n)
(我知道它是猴子補丁,我正在做這個作業),它返回一個新的數組忽略每個第n個元素:如何引用Array中的一個元素的索引#delete_if
[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
,歡迎提出其他建議。
一定要看到更新的答案,一個之前沒有爲步工作> 2 – tihom