Commit fe6cf851 authored by KOBAYASHI Shuji's avatar KOBAYASHI Shuji

`Array#permutation` with a negative argument should not yield

Before this patch:

  $ bin/mruby -e '[1].permutation(-1){|v| p v}'  #=> [1]

After this patch (same as Ruby):

  $ bin/mruby -e '[1].permutation(-1){|v| p v}'  #=> no output
parent 55ef4e4b
......@@ -819,7 +819,7 @@ class Array
size = self.size
if n == 0
yield []
elsif n <= size
elsif 0 < n && n <= size
i = 0
while i<size
result = [self[i]]
......
......@@ -392,6 +392,7 @@ assert("Array#permutation") do
assert_permutation([[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]], a, 3)
assert_permutation([[]], a, 0)
assert_permutation([], a, 4)
assert_permutation([], a, -1)
end
assert("Array#combination") do
......@@ -402,6 +403,7 @@ assert("Array#combination") do
assert_combination([[1,2,3,4]], a, 4)
assert_combination([[]], a, 0)
assert_combination([], a, 5)
assert_combination([], a, -1)
end
assert('Array#transpose') do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment