Iterators
Iterators can be used in for-in loops. All iterators must have two methods
hasNext: This should return a Bool indicating whether there are any more items left
next: This should return the next element in the sequence
Iterators that extend the class Iterator get the following methods
-
each(fn)Calls function
fnfor all items in the iteratorExample:
let a=[] [1,2,3].iter().each(|x|a.push(x)) a //[1,2,3] -
all(fn)Returns if for all items in the interator
fn(item)is truthyExample:
[1,2,3].iter().all(|x|x<10) //true -
any(fn)Returns if for any item in the iterator
fn(item)is truthyExample:
[1,2,3].iter().any(|x|x==1) //true -
map(fn)Returns a new iterator whose items are
fn(item)of the items of this iteratorExample:
[1,2,3].map(|x|x+1).collect() //[2,3,4] -
filter(fn)Returns a new iterator whose items are those items of this iterator for which
fn(item)is truthyExample:
[1,2,3].filter(|x|x%2==1).collect() //[1,3] -
collect()Collects all items of the iterator into an array
Example:
[1,2,3].iter().collect() //[1,2,3] -
count()Returns the number of items of the iterator
Example:
[1,2,3].iter().count() //3 -
reduce(fn,initial)Applys
fn, a function of two arguments cummulatively to the items of the iterator starting with initialExample:
[1,2,3].iter().reduce(|x,y|x+y,0) //6