Skip to content

Commit dca4714

Browse files
authored
Implements #reverse! in Literal::Array (#298)
Addresses #193
1 parent bf5f3ab commit dca4714

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/literal/array.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,11 @@ def reverse(...)
499499

500500
alias_method :initialize_copy, :replace
501501

502+
def reverse!
503+
@__value__.reverse!
504+
self
505+
end
506+
502507
def rotate(...)
503508
__with__(@__value__.rotate(...))
504509
end

test/array.test.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,6 +768,14 @@
768768
assert_equal return_value, Literal::Array(Integer).new(2, 3, 1)
769769
end
770770

771+
test "#reverse! reverses the array in place" do
772+
array = Literal::Array(Integer).new(1, 2, 3)
773+
774+
return_value = array.reverse!
775+
776+
assert_same return_value, array
777+
end
778+
771779
test "#take takes the first n elements" do
772780
array = Literal::Array(Integer).new(1, 2, 3, 4, 5)
773781

0 commit comments

Comments
 (0)