Kata
Description:
This is the first part of three (part2, part3).
Generators and Iterators are new ES6 features that will allow things like this:
function* fibonacci() {
let [prev, curr] = [0, 1];
for (;;) {
[prev, curr] = [curr, prev + curr];
yield curr;
}
}
Using them in this way, we can do amazing things:
let seq = fibonacci();
print(seq.next()); // 1
print(seq.next()); // 2
print(seq.next()); // 3
print(seq.next()); // 5
print(seq.next()); // 8
This is powerful, but until a few months later, ES6 will not be born.
The goal of this kata is to implement pseudo-generators with ES5.