summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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