interface Sequence
interface Sequence
lib/sequence.tya:2
Sequence provides the sequence standard library API.
Source
# Sequence provides the sequence standard library API.
interface Sequence extends Iterable
# iter provides the sequence API operation.
# @return Iterator the resulting value.
iter: ->
# map provides the sequence API operation.
# @param fn Function fn value.
# @return Sequence the resulting value.
map: fn ->
MapSequence(self, fn)
# filter provides the sequence API operation.
# @param fn Function fn value.
# @return Sequence the resulting value.
filter: fn ->
FilterSequence(self, fn)
# take provides the sequence API operation.
# @param n Int n value.
# @return Sequence the resulting value.
take: n ->
TakeSequence(self, n)
# drop provides the sequence API operation.
# @param n Int n value.
# @return Sequence the resulting value.
drop: n ->
DropSequence(self, n)
# reduce provides the sequence API operation.
# @param initial Int initial value.
# @param fn Function fn value.
# @return Any the resulting value.
reduce: initial, fn ->
acc = initial
for item in self
acc = fn(acc, item)
acc
# each provides the sequence API operation.
# @param fn Function fn value.
# @return Nil the resulting value.
each: fn ->
for item in self
fn(item)
nil
# any? provides the sequence API operation.
# @param fn Function fn value.
# @return Boolean the resulting value.
any?: fn ->
for item in self
if fn(item)
return true
false
# all? provides the sequence API operation.
# @param fn Function fn value.
# @return Boolean the resulting value.
all?: fn ->
for item in self
if not fn(item)
return false
true
# find provides the sequence API operation.
# @param fn Function fn value.
# @return Any the resulting value.
find: fn ->
for item in self
if fn(item)
return item
nil
# to_a provides the sequence API operation.
# @return Array the resulting value.
to_a: ->
out = []
for item in self
out.push(item)
out
Methods
all?
Sequence.all?(fn)
lib/sequence.tya:53
all? provides the sequence API operation.
Source
# all? provides the sequence API operation.
# @param fn Function fn value.
# @return Boolean the resulting value.
all?: fn ->
for item in self
if not fn(item)
return false
true
any?
Sequence.any?(fn)
lib/sequence.tya:45
any? provides the sequence API operation.
Source
# any? provides the sequence API operation.
# @param fn Function fn value.
# @return Boolean the resulting value.
any?: fn ->
for item in self
if fn(item)
return true
false
drop
Sequence.drop(n)
lib/sequence.tya:24
drop provides the sequence API operation.
Source
# drop provides the sequence API operation.
# @param n Int n value.
# @return Sequence the resulting value.
drop: n ->
DropSequence(self, n)
each
Sequence.each(fn)
lib/sequence.tya:38
each provides the sequence API operation.
Source
# each provides the sequence API operation.
# @param fn Function fn value.
# @return Nil the resulting value.
each: fn ->
for item in self
fn(item)
nil
filter
Sequence.filter(fn)
lib/sequence.tya:14
filter provides the sequence API operation.
Source
# filter provides the sequence API operation.
# @param fn Function fn value.
# @return Sequence the resulting value.
filter: fn ->
FilterSequence(self, fn)
find
Sequence.find(fn)
lib/sequence.tya:61
find provides the sequence API operation.
Source
# find provides the sequence API operation.
# @param fn Function fn value.
# @return Any the resulting value.
find: fn ->
for item in self
if fn(item)
return item
nil
iter
Sequence.iter()
lib/sequence.tya:5
iter provides the sequence API operation.
Source
# iter provides the sequence API operation.
# @return Iterator the resulting value.
iter: ->
map
Sequence.map(fn)
lib/sequence.tya:9
map provides the sequence API operation.
Source
# map provides the sequence API operation.
# @param fn Function fn value.
# @return Sequence the resulting value.
map: fn ->
MapSequence(self, fn)
reduce
Sequence.reduce(initial, fn)
lib/sequence.tya:30
reduce provides the sequence API operation.
Source
# reduce provides the sequence API operation.
# @param initial Int initial value.
# @param fn Function fn value.
# @return Any the resulting value.
reduce: initial, fn ->
acc = initial
for item in self
acc = fn(acc, item)
acc
take
Sequence.take(n)
lib/sequence.tya:19
take provides the sequence API operation.
Source
# take provides the sequence API operation.
# @param n Int n value.
# @return Sequence the resulting value.
take: n ->
TakeSequence(self, n)
to_a
Sequence.to_a()
lib/sequence.tya:68
to_a provides the sequence API operation.
Source
# to_a provides the sequence API operation.
# @return Array the resulting value.
to_a: ->
out = []
for item in self
out.push(item)
out