class method
Enumerator::Chain.new
[out Elem] (*::_Each[Elem] enums) -> ::Enumerator::Chain[Elem]
Enumerator::Chain.new(*enums) → enum
enumerator.c
View on GitHub ↗
static VALUE
enum_chain_initialize(VALUE obj, VALUE enums)
{
struct enum_chain *ptr;
rb_check_frozen(obj);
TypedData_Get_Struct(obj, struct enum_chain, &enum_chain_data_type, ptr);
if (!ptr) rb_raise(rb_eArgError, "unallocated chain");
RB_OBJ_WRITE(obj, &ptr->enums, rb_ary_freeze(enums));
ptr->pos = -1;
return obj;
}
Generates a new enumerator object that iterates over the elements of given enumerable objects in sequence.
Example
e = Enumerator::Chain.new(1..3, [4, 5]) e.to_a #=> [1, 2, 3, 4, 5] e.size #=> 5