diff --git a/mrblib/array.rb b/mrblib/array.rb index d151d9350..76c137421 100644 --- a/mrblib/array.rb +++ b/mrblib/array.rb @@ -193,7 +193,7 @@ class Array def delete(key, &block) len = self.length ret = self.__delete(key) - return block&.call() if len == self.length + return block&.call(key) if len == self.length ret end diff --git a/test/t/array.rb b/test/t/array.rb index 67923a1f1..b40c03dd7 100644 --- a/test/t/array.rb +++ b/test/t/array.rb @@ -449,6 +449,7 @@ end assert('Array#delete') do a = ["a", "b", "c"] assert_equal nil, a.delete("x") + assert_equal "x", a.delete("x") { _1 } assert_equal ["a", "b", "c"], a assert_equal "a", a.delete("a") assert_equal ["b", "c"], a