Unazat në Gjeneratorët në JavaScript
Brenda gjeneratorëve mund të përdoren
unaza. Në këtë rast ne mund t'i vendosim unazat
në pauzë duke përdorur yield. Le të
shohim një shembull. Do ta vendosim
unazën në pauzë çdo përsëritje:
function *func() {
for (let i = 1; i <= 3; i++) {
yield i;
}
}
Do të marrim një përsëritës:
let iter = func();
Le të kontrollojmë funksionimin e përsëritësit tonë:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Krijoni një përsëritës, çdo thirrje e të cilit
do të kthejë numra nga 10
në zero.
Bëni një gjenerator, i cili si parametër do të pranojë një numër. Le të çdo thirrje e përsëritësit të zvogëlojë numrin me një, derisa të arrihet zero.
Bëni një gjenerator, i cili si parametër do të pranojë një numër. Le të çdo thirrje e përsëritësit të zvogëlojë numrin përgjysmë dhe të kthejë rezultatin. Dhe kështu, derisa numri të bëhet më i vogël se një.
Bëni një përsëritës, çdo thirrje e të cilit do të kthejë fuqinë tjetër të dy.
Bëni një përsëritës, çdo thirrje e të cilit do të kthejë numrin e ardhshëm të Fibonaçit.