Skip to content

Commit d3031de

Browse files
author
mean2me
committed
WIP: keep translating
1 parent 7c79c2b commit d3031de

File tree

1 file changed

+11
-12
lines changed
  • 1-js/12-generators-iterators/1-generators

1 file changed

+11
-12
lines changed

1-js/12-generators-iterators/1-generators/article.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# I generatori
22

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).
44

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à.
76

87
## Le funzioni generatrici
98

@@ -19,9 +18,9 @@ function* generateSequence() {
1918
}
2019
```
2120

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.
2322

24-
Here, take a look:
23+
Dai un'occhiata qua:
2524

2625
```js run
2726
function* generateSequence() {
@@ -30,25 +29,25 @@ function* generateSequence() {
3029
return 3;
3130
}
3231

33-
// "generator function" creates "generator object"
32+
// "la funzione generatrice" crea un "oggetto generatore"
3433
let generator = generateSequence();
3534
*!*
3635
alert(generator); // [object Generator]
3736
*/!*
3837
```
3938

40-
The function code execution hasn't started yet:
39+
L'esecuzione del codice della funzione non è ancora iniziata:
4140

4241
![](generateSequence-1.svg)
4342

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.
4544

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à:
4746

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`.
5049

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":
5251

5352
```js run
5453
function* generateSequence() {

0 commit comments

Comments
 (0)