module Iterable(T)

Overview

The Iterable mixin provides convenience methods to collection classes that provide an #each method that returns an Iterator over the collection.

Direct including types

Defined in:

iterable.cr

Instance Method Summary

Instance Method Detail

def chunk(reuse = false, &block : T -> U) forall U #

Returns an Iterator that enumerates over the items, chunking them together based on the return value of the block.

(0..7).chunk(&.//(3)).to_a # => [{0, [0, 1, 2]}, {1, [3, 4, 5]}, {2, [6, 7]}]

See also: Iterator#chunk.


[View source]
def chunk_while(reuse : Bool | Array(T) = false, &block : T, T -> B) forall B #

Same as each.chunk_while(reuse, &block).

See also: Iterator#chunk_while.


[View source]
def cycle(n) #

Same as each.cycle(n).

See also: Iterator#cycle(n).


[View source]
def cycle #

Same as each.cycle.

See also: Iterator#cycle.


[View source]
abstract def each #

Must return an Iterator over the elements in this collection.


[View source]
def each_cons(count : Int, reuse = false) #

Same as each.cons(count, reuse).

See also: Iterator#cons(count, reuse).


[View source]
def each_cons_pair #

Same as each.cons_pair.

See also: Iterator#cons_pair.


[View source]
def each_slice(count : Int, reuse = false) #

Same as each.slice(count, reuse).

See also: Iterator#slice(count, reuse).


[View source]
def each_step(n : Int) #

Same as each.step(n).

See also: Iterator#step.


[View source]
def each_step(n : Int, *, offset : Int) #

Same as each.skip(offset).step(n).

See also: Iterator#step.


[View source]
def each_with_index(offset = 0) #

Same as each.with_index(offset).

See also: Iterator#with_index(offset).


[View source]
def each_with_object(obj) #

Same as each.with_object(obj).

See also: Iterator#with_object(obj).


[View source]
def slice_after(reuse : Bool | Array(T) = false, &block : T -> B) forall B #

Same as each.slice_after(reuse, &block).

See also: Iterator#slice_after(reuse, &block).


[View source]
def slice_after(pattern, reuse : Bool | Array(T) = false) #

Same as each.slice_after(pattern, reuse).

See also: Iterator#slice_after(pattern, reuse).


[View source]
def slice_before(reuse : Bool | Array(T) = false, &block : T -> B) forall B #

Same as each.slice_before(reuse, &block).

See also: Iterator#slice_before(reuse, &block).


[View source]
def slice_before(pattern, reuse : Bool | Array(T) = false) #

Same as each.slice_before(pattern, reuse).

See also: Iterator#slice_before(pattern, reuse).


[View source]
def slice_when(reuse : Bool | Array(T) = false, &block : T, T -> B) forall B #

Same as each.slice_when(reuse, &block).

See also: Iterator#slice_when.


[View source]