0

Array#firstandの破壊的なバージョンを提供するライブラリはありArray#lastますか? そうでない場合、それらを実装する最も効率的な方法は何ですか? このようなもの:

a = [:a, :b, :c, :d, :e]
a.first!(2) # => [:a, :b]
a # => [:c, :d, :e]
a.last!(1) # => [:e]
a # => [:c, :d]
4

2 に答える 2

6

Array#shiftとをお探しArray#popですか?

于 2013-03-18T22:09:59.100 に答える
2

Array#slice!以下の方法を試すこともできます。

p RUBY_VERSION
a = [1,2,3,4,5]
a.slice!(0)
p a
a = [1,2,3,4,5]
a.slice!(0,2)
p a
a = [1,2,3,4,5]
a.slice!(-1)
p a
a = [1,2,3,4,5]
a.slice!(-3,3)
p a

出力:

"2.0.0"
[2, 3, 4, 5]
[3, 4, 5]
[1, 2, 3, 4]
[1, 2]
于 2013-03-19T01:09:57.707 に答える