Method: Array#reverse
- Defined in:
- array.c
#reverse ⇒ Object
Returns a new array containing the elements of self in reverse order:
[0, 1, 2].reverse # => [2, 1, 0]
Related: see Methods for Combining.
3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 |
# File 'array.c', line 3159 static VALUE rb_ary_reverse_m(VALUE ary) { long len = RARRAY_LEN(ary); VALUE dup = rb_ary_new2(len); if (len > 0) { const VALUE *p1 = RARRAY_CONST_PTR(ary); VALUE *p2 = (VALUE *)RARRAY_CONST_PTR(dup) + len - 1; do *p2-- = *p1++; while (--len > 0); } ARY_SET_LEN(dup, RARRAY_LEN(ary)); return dup; } |