Skip to content

module Iterable(T)

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

Direct including types

Dir Hash(K, V) Indexable(T) Range(B, E) Set(T)

Methods

#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#chunks.

View source

#chunk_while(reuse : Bool | Array(T) = false, &block : T, T -> B) forall B

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

View source

#cycle(n)

Same as each.cycle(n).

View source

#cycle

Same as each.cycle.

View source

abstract #each

Must return an Iterator over the elements in this collection.

View source

#each_cons(count : Int, reuse = false)

Same as each.cons(count).

View source

#each_slice(count : Int, reuse = false)

Same as each.slice(count, reuse).

View source

#each_with_index(offset = 0)

Same as each.with_index(offset).

View source

#each_with_object(obj)

Same as each.with_object(obj).

View source

#slice_after(reuse : Bool | Array(T) = false, &block : T -> B) forall B

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

View source

#slice_after(pattern, reuse : Bool | Array(T) = false)

Same as each.slice_after(pattern, reuse).

View source

#slice_before(reuse : Bool | Array(T) = false, &block : T -> B) forall B

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

View source

#slice_before(pattern, reuse : Bool | Array(T) = false)

Same as each.slice_before(pattern, reuse).

View source

#slice_when(reuse : Bool | Array(T) = false, &block : T, T -> B) forall B

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

View source