Menu
Coddy logo textTech

Итоги — Генератор чисел

Часть раздела Logic & Flow путешествия по Lua на Coddy — урок 53 из 54.

challenge icon

Задание

Легко

Напишите функцию createNumberGenerator, которая принимает count и возвращает строку, содержащую все числа, сгенерированные сопрограммой (coroutine).

Создайте сопрограмму, которая последовательно генерирует числа, начиная с 1. Каждый раз, когда выполнение сопрограммы возобновляется, она должна возвращать (yield) следующее число в последовательности. Возобновите работу сопрограммы count раз, чтобы собрать все сгенерированные числа, а затем верните их в виде одной строки, где каждое число находится на новой строке.

Логика:

  • Создайте функцию, которая использует цикл для возврата чисел 1, 2, 3 и т. д. через yield.
  • Оберните эту функцию в сопрограмму с помощью coroutine.create()
  • Возобновляйте выполнение сопрограммы count раз, собирая каждое возвращенное число
  • Объедините все числа, используя символ новой строки в качестве разделителя
  • Верните полученную строку

Параметры:

  • count (number): Количество значений, которые необходимо сгенерировать из последовательности

Возвращает: Строку, содержащую все сгенерированные числа, разделенные символом новой строки (string). Формат: 1\n2\n3

Попробуйте сами

function createNumberGenerator(count)
    -- Напишите код здесь
end

Все уроки раздела Logic & Flow