Rubyの配列があるとします
a = [1, 2, 3, 4]
最初の項目以外すべてが欲しい場合は、 と書くことができますa.drop(1)
。これは便利です。最後アイテムですが、私はこの方法しか思いつきません
a[0..-2] # or
a[0...-1]
しかし、どちらも を使用するほどクリーンではないようですdrop
。他に見逃している組み込みの方法はありますか?
ベストアンサー1
多分...
a = t # => [1, 2, 3, 4]
a.first a.size - 1 # => [1, 2, 3]
または
a.take 3
または
a.first 3
または
a.pop
最後のものを返し、それ以前のすべてを配列に残します
またはコンピューターを夕食のために働かせる:
a.reverse.drop(1).reverse
または
class Array
def clip n=1
take size - n
end
end
a # => [1, 2, 3, 4]
a.clip # => [1, 2, 3]
a = a + a # => [1, 2, 3, 4, 1, 2, 3, 4]
a.clip 2 # => [1, 2, 3, 4, 1, 2]