You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/12-generators-iterators/1-generators/article.md
+11-12Lines changed: 11 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,8 @@
1
1
# I generatori
2
2
3
-
Le funzioni ritornano normalmente un solo valore (a volte non ritornano null).
3
+
Le funzioni ritornano normalmente un solo valore (a volte non ritornano nulla).
4
4
5
-
I generatori possono ritornare ("yield") valori multipli, uno dopo l'altro, ogni volta che vengono invocati. Sono, di fatto, lo strumento ideale se usati
6
-
con gli [iterables](info:iterable), dal momento che ci consentono di creare flussi di dati con facilità.
5
+
I generatori possono ritornare ("yield") valori multipli, uno dopo l'altro, ogni volta che vengono invocati. Sono, di fatto, lo strumento ideale da utilizzare con gli [iteratori](info:iterable), dal momento che ci consentono di creare flussi di dati con facilità.
7
6
8
7
## Le funzioni generatrici
9
8
@@ -19,9 +18,9 @@ function* generateSequence() {
19
18
}
20
19
```
21
20
22
-
Generator functions behave differently from regular ones. When such function is called, it doesn't run its code. Instead it returns a special object, called "generator object", to manage the execution.
21
+
Le funzioni generatrici si comportano diversamente rispetto alle normali funzioni. Quando una generatrice viene invocata, di fatto, il codice al suo interno non viene eseguito, ma ritorna uno speciale oggetto, chiamato "oggetto generatore", che ne consente di gestire l'esecuzione.
// "la funzione generatrice" crea un "oggetto generatore"
34
33
let generator =generateSequence();
35
34
*!*
36
35
alert(generator); // [object Generator]
37
36
*/!*
38
37
```
39
38
40
-
The function code execution hasn't started yet:
39
+
L'esecuzione del codice della funzione non è ancora iniziata:
41
40
42
41

43
42
44
-
The main method of a generator is `next()`. When called, it runs the execution till the nearest `yield <value>`statement (`value` can be omitted, then it's `undefined`). Then the function execution pauses, and the yielded `value` is returned to the outer code.
43
+
Il metodo principale di un oggetto generatore è `next()`. Quando invocato, esegue le istruzioni in esso contenute fino alla prossima istruzione `yield <valore>`(`valore` può essere omesso, in tal caso sarà `undefined`). A questo punto l'esecuzione si arresta e il `valore` viene "ceduto" al codice esterno.
45
44
46
-
The result of `next()`is always an object with two properties:
45
+
Il risultato dell'esecuzione di `next()`è sempre un oggetto con due proprietà:
47
46
48
-
-`value`: the yielded value.
49
-
-`done`: `true` if the function code has finished, otherwise`false`.
47
+
-`value`: il valore che viene "ceduto".
48
+
-`done`: `true`, se il codice della funzione è stato eseguito completamente, altrimenti,`false`.
50
49
51
-
For instance, here we create the generator and get its first yielded value:
50
+
Ad esempio, qui andiamo a creare un generatore e otteniamo il primo valore "ceduto":
0 commit comments