我有一个项目数组,我需要删除它的前x个项目。在Ruby Array类中是否有内置函数可以做到这一点?我四处搜寻,却发现它看起来像是令人难以置信的困惑或效率低下的方法。

我最好喜欢这样的东西:

my_items = [ 'item1', 'item2', 'item3', 'item4' ]
trimmed_items = my_items.delete(y, x) # deleting x entries from index y

最佳答案



进行无损删除

Array#drop(x) 将为您完成工作。


my_items = [ 'item1', 'item2', 'item3', 'item4' ]
p my_items.drop(2)
p my_items

# >>["item3", "item4"]
# >>["item1", "item2", "item3", "item4"]

破坏性删除

Array#shift


my_items = [ 'item1', 'item2', 'item3', 'item4' ]
my_items.shift(2)
p my_items # => ["item3", "item4"]

10-08 04:26