summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-10-12 12:38:25 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-10-14 17:04:19 +0900
commit67ea80b2bd2df64bbfefd0ba8f74f6eeb52074aa (patch)
tree6bf097ab797c3e0729d236c7934eb77560848980 /mrbgems
parent265034134a8051e40c2f6bd9bea674562e75b219 (diff)
downloadmruby-67ea80b2bd2df64bbfefd0ba8f74f6eeb52074aa.tar.gz
mruby-67ea80b2bd2df64bbfefd0ba8f74f6eeb52074aa.zip
Fixed a bug in `Array#difference`.
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-array-ext/mrblib/array.rb4
-rw-r--r--mrbgems/mruby-array-ext/test/array.rb6
2 files changed, 5 insertions, 5 deletions
diff --git a/mrbgems/mruby-array-ext/mrblib/array.rb b/mrbgems/mruby-array-ext/mrblib/array.rb
index 7cec44dba..d4a72a927 100644
--- a/mrbgems/mruby-array-ext/mrblib/array.rb
+++ b/mrbgems/mruby-array-ext/mrblib/array.rb
@@ -133,9 +133,9 @@ class Array
# preserved from the original array.
#
def difference(*args)
- ary = self.dup
+ ary = self
args.each do |x|
- ary = self - x
+ ary = ary - x
end
ary
end
diff --git a/mrbgems/mruby-array-ext/test/array.rb b/mrbgems/mruby-array-ext/test/array.rb
index 029325aab..0cfb1e857 100644
--- a/mrbgems/mruby-array-ext/test/array.rb
+++ b/mrbgems/mruby-array-ext/test/array.rb
@@ -94,9 +94,9 @@ assert("Array#union") do
end
assert("Array#difference") do
- a = [1, 2, 3, 1]
- b = [1, 4]
- c = [1, 5]
+ a = [1, 2, 3, 1, 6, 7]
+ b = [1, 4, 6]
+ c = [1, 5, 7]
assert_equal [2, 3], a.difference(b,c)
end