Cmbinations in Array

Hi,
I want to find the combination of array elements

like for example
a = [1,2,3,4]
the combinations are
[1,2,3,4]
[1,3,4,2]
[1,2,3]
etc..

If anybody knows plz reply me

Do you want to know the number of possible combinations or the
combinations themselves?

Pragash Mr. wrote:

Hi,
I want to find the combination of array elements

like for example
a = [1,2,3,4]
the combinations are
[1,2,3,4]
[1,3,4,2]
[1,2,3]
etc..

If anybody knows plz reply me

Think this works,

def combinations(array)
  return [] if array == []
  return [array, []] if array.length == 1

  # split [1,2,3] => [1], [2,3]
  left, right = array[0..0], array[1..-1]
  rtn = []

  combinations(right).each do |r_array|
    rtn << r_array
    rtn << left + r_array
  end

  return rtn
end

combinations([1])

=> [[1]]

combinations([1])

=> [[1], []]

combinations([1,2])

=> [[2], [1, 2], [], [1]]

combinations([1,2,3])

=> [[3], [1, 3], [2, 3], [1, 2, 3], [], [1], [2], [1, 2]]

enjoy.
http://www.workingwithrails.com/person/12394-matthew-rudy-jacobs