Skip to content

Commit 27c3d88

Browse files
authored
Add last for vector (#519)
1 parent 1d1dec1 commit 27c3d88

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

lib/daru/vector.rb

+5
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,11 @@ def tail q=10
474474
self[start..(size-1)]
475475
end
476476

477+
def last q=1
478+
# The Enumerable mixin dose not provide the last method.
479+
tail(q)
480+
end
481+
477482
def empty?
478483
@index.empty?
479484
end

spec/vector_spec.rb

+18
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,24 @@
850850
end
851851
end
852852

853+
context '#last' do
854+
subject(:vector) do
855+
Daru::Vector.new (1..20).to_a, dtype: dtype
856+
end
857+
858+
it 'takes 1 by default' do
859+
expect(vector.last).to eq 20
860+
end
861+
862+
it 'takes num if provided' do
863+
expect(vector.last(3)).to eq Daru::Vector.new (18..20).to_a, index: (17..19).to_a
864+
end
865+
866+
it 'does not fail on too large num' do
867+
expect(vector.last(3000)).to eq vector
868+
end
869+
end
870+
853871
context "#concat" do
854872
before :each do
855873
@dv = Daru::Vector.new [1,2,3,4,5], name: :yoga,

0 commit comments

Comments
 (0)