Ruby で、順列を表示する、関数を作った

class MyPermutation
def initialize (number)
@number = number
@results = Array.new @number
@ary = (1..@number).to_a
end

def next_number (ary)
if ary.length == 1
@results[-1] = ary[0]
puts @results.join ', '
else
ary.length.times do |i|
clone = ary.clone # コピー
@results[@number - ary.length] = clone[i]
clone.delete_at i # 要素を削除
next_number clone # 再帰
end
end
end

def print
next_number @ary
end
end

obj = MyPermutation.new 3
obj.print