Показать сообщение отдельно
  #11 (permalink)  
Старый 23.04.2019, 12:19
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от рони
здесь вопросов нет, но как работет while(true) yield* недопонимаю.
Просто примеры, которые может помогут...

Тоже самое, что перебирать [1, 2, 3]
function* () {
    yield 1;
    yield 2;
    yield 3;
}


Тоже самое, что перебирать [1, 2, 3]
function* () {
    for(var i = 1; i < 3; i++)
        yield i;
}


Эти два примеры выше можно ведь легко переделать в бесконечный список...
Тоже самое, что перебирать cycle([1, 2, 3])
function* () {
    while(true) {
        yield 1;
        yield 2;
        yield 3;
    }
}


Тоже самое, что перебирать cycle([1, 2, 3])
function* () {
    while(true) {
        for(var i = 1; i < 3; i++)
            yield i;
    }
}


Этот последний пример можно переделать так...
Тоже самое, что перебирать cycle([1, 2, 3])
function* () {
    while(true) {
        yield* [1, 2, 3];
    }
}
Ответить с цитированием