16 lines
308 B
Plaintext
16 lines
308 B
Plaintext
|
ds={
|
||
|
"init":func(end){@end=end; @current=0 but true},
|
||
|
"current":func(){current},
|
||
|
"next":func(){
|
||
|
((next=current+1) <= end) ? [true] {@current=next but current} :: {nil}
|
||
|
}
|
||
|
, "filter":func(item,index) { item > 0 }
|
||
|
, "map": func(item,index) { item * 2 }
|
||
|
}
|
||
|
|
||
|
/* Example
|
||
|
;
|
||
|
it=$(ds,3);
|
||
|
add(it)
|
||
|
*/
|