Sha256: c4377c88072ca8e80f266465d3f682baa687789b03c81525628f8589de4219be

Contents?: true

Size: 1.91 KB

Versions: 12

Compression:

Stored size: 1.91 KB

Contents

o:$YARD::CodeObjects::MethodObject:
@name:transpose:@docstringIC:YARD::Docstring"Assumes that <i>self</i> is an array of arrays and transposes the
rows and columns.

   a = [[1,2], [3,4], [5,6]]
   a.transpose   #=> [[1, 3, 5], [2, 4, 6]]
:@objectu:YARD::StubProxyArray#transpose:
@summary0:	@all"Assumes that <i>self</i> is an array of arrays and transposes the
rows and columns.

   a = [[1,2], [3,4], [5,6]]
   a.transpose   #=> [[1, 3, 5], [2, 4, 6]]


@overload transpose
  @return [Array]:@ref_tags[:
@tags[o:YARD::Tags::OverloadTag
;
u;Array#transpose;;;IC;	"
;
u;Array#transpose;0;
"@return [Array];[;[o:YARD::Tags::Tag
;
0;0:@types["
Array:
@text":@tag_name"return;0:@parameters[;0:@signature"transpose;"
overload:@current_file_has_commentsF:@scope:
instance;[:@docstring_extra0:@files[["array.c0:@namespaceu;
Array:
@path"Array#transpose;[:@visibility:public:@source"/*
 *  call-seq:
 *     array.transpose -> an_array
 *  
 *  Assumes that <i>self</i> is an array of arrays and transposes the
 *  rows and columns.
 *     
 *     a = [[1,2], [3,4], [5,6]]
 *     a.transpose   #=> [[1, 3, 5], [2, 4, 6]]
 */

static VALUE
rb_ary_transpose(ary)
    VALUE ary;
{
    long elen = -1, alen, i, j;
    VALUE tmp, result = 0;

    alen = RARRAY(ary)->len;
    if (alen == 0) return rb_ary_dup(ary);
    for (i=0; i<alen; i++) {
    tmp = to_ary(rb_ary_elt(ary, i));
    if (elen < 0) {        /* first element */
        elen = RARRAY(tmp)->len;
        result = rb_ary_new2(elen);
        for (j=0; j<elen; j++) {
        rb_ary_store(result, j, rb_ary_new2(alen));
        }
    }
    else if (elen != RARRAY(tmp)->len) {
        rb_raise(rb_eIndexError, "element size differs (%d should be %d)",
             RARRAY(tmp)->len, elen);
    }
    for (j=0; j<elen; j++) {
        rb_ary_store(rb_ary_elt(result, j), i, rb_ary_elt(tmp, j));
    }
    }
    return result;
}:@source_type:c

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
pry-doc-0.4.4 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.4.3 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.4.2 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.4.1 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.4.0 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.3.0 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.2.4pre1 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.2.3pre1 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.2.1 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.2.0 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-doc-0.1.5pre1 lib/pry-doc/core_docs_18/objects/Array/transpose_i.dat
pry-0.6.9pre1-i386-mingw32 lib/pry/core_docs_18/objects/Array/transpose_i.dat