Iter type
Direct children types
- ArrIter
Arr (array) iterator.
- ConstIter
Iterator that returns given value forever.
- FilterIter
EXPERIMENTAL! Do not use!
- FunIter
EXPERIMENTAL! Do not use!
- HashIter
EXPERIMENTAL Hash iterator.
- MapIter
EXPERIMENTAL! Do not use!
- RangeIter
Iterates over a Range
Constructors
- Iter(i:Iter)
Supports "for i in existing_iterator". Useful if you want to have a reference to the Iter for any reason. Automatically called by NGS for syntax
for my_var in something { ... }
Returns
iExample
# Prints 0, 2, ... for i in my_iter=Iter(10) { echo(i) my_iter.drop(1) }
- Iter(f:Fun)
Undocumented
- Iter(r:NumRange)
Create Iter from NumRange
- Iter(n:Int)
Create Iter from Int
- Iter(arr:Arr)
Calls ArrIter constructor. Returns
ArrIterExample
i = Iter([10, 20, 30])
- Iter(h:Hash)
Undocumented
- Iter(s:Set)
Iterator for Set. Currently implemented as ArrIter for the Set elements. Returns
ArrIter
- Iter(s:SubSeq)
Iterator over elements of the subsequence Returns
Iter
- Iter(rd:ResDef)
EXPERIMENTAL! Do not use!
Methods
- drop(i:Iter, n:Int)
Fetch and drop next n values from iterator i. Example
i = Iter([10,20,30]) drop(i, 1) echo(i.next()) # Output: 20
- each(i:Iter, cb:Fun)
Calls cb with each element from i Returns
iExample
Iter(10).each(echo) # Prints 0 to 9
- filter(i:Iter, pattern:Any)
EXPERIMENTAL! Do not use!
- init(i:MapIter, upstream_iter:Iter, mapper:Fun)
EXPERIMENTAL! Do not use!
- init(i:FilterIter, upstream_iter:Iter, pattern:Any)
EXPERIMENTAL! Do not use!
- JsonData(i:Iter)
Convert Iter into JSON compatible data structure - array. Forces evaluation of MapIter for example.
- map(i:Iter, mapper:Fun)
EXPERIMENTAL! Do not use!
- reject(i:Iter, pattern:Any)
EXPERIMENTAL! Do not use!
- skip(i:Iter, pattern:Any=method)
Returns the given Iter but skipping leading elements while the pattern matches. If all the elements matches the pattern the Iter will be empty. Returns
IterExample
[0, 2, 3, 25, 19, 7].Iter().skip(F(x) x != 3).Arr() returns [3, 25, 19, 7]
- skip(i:Iter, count:Int)
Returns the given Iter after consuming first count elements. Returns
IterExample
[3, 4, 5, 34, 5].Iter().skip(3).Arr() == [34, 5]
- take(i:Iter, n:Int)
Fetch and convert to array next n values from iterator i. Example
i = Iter([10,20,30]) echo(i.take(2)) # Output: [10,20]
- throw_if_no_next(i:Iter)
Private method of Iter.ngs, will be hidden in future.