Current File : //proc/thread-self/root/proc/self/root/opt/alt/ruby18/share/ri/1.8/system/Array/combination-i.yaml
--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: When invoked with a block, yields all combinations of length <em>n</em> of elements from <em>ary</em> and then returns <em>ary</em> itself. The implementation makes no guarantees about the order in which the combinations are yielded.
- !ruby/struct:SM::Flow::P 
  body: When invoked without a block, returns an enumerator object instead.
- !ruby/struct:SM::Flow::P 
  body: "Examples:"
- !ruby/struct:SM::Flow::VERB 
  body: "    a = [1, 2, 3, 4]\n    a.combination(1).to_a  #=&gt; [[1],[2],[3],[4]]\n    a.combination(2).to_a  #=&gt; [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]\n    a.combination(3).to_a  #=&gt; [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]\n    a.combination(4).to_a  #=&gt; [[1,2,3,4]]\n    a.combination(0).to_a  #=&gt; [[]] # one combination of length 0\n    a.combination(5).to_a  #=&gt; []   # no combinations of length 5\n"
full_name: Array#combination
is_singleton: false
name: combination
params: |
  ary.combination(n) { |c| block }    -> ary
  ary.combination(n)                  -> enumerator

visibility: public