我有一个项目数组,我需要删除它的前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"]