Menu
Coddy logo textTech

Итоги: обобщенные функции

Часть раздела Введение в Luau путешествия по Lua на Coddy. Урок 62 из 73.

challenge icon

Задание

Средне

Объедините обобщенные псевдонимы типов и обобщенные функции в одной программе.

Определите обобщенный псевдоним типа с именем Pair с двумя параметрами типа T и U, описывающий таблицу с:

  • first типа T
  • second типа U

Создайте обобщенную функцию с именем makePair, которая объявляет T и U, принимает first: T и second: U и возвращает их, упакованными в Pair<T, U>.

Создайте обобщенную функцию с именем describePair, которая объявляет T и U, принимает pair: Pair<T, U> и возвращает строку ({first}, {second}), построенную с помощью интерполяции строк (тип возвращаемого значения string).

Затем:

  1. создайте playerScore типа Pair<string, number> с помощью вызова makePair("<code>Nova", 87)
  2. создайте levelDone типа Pair<number, boolean> с помощью вызова makePair(3, true)
  3. выведите playerScore.first
  4. выведите playerScore.second
  5. выведите describePair(playerScore)
  6. выведите describePair(levelDone)
  7. выведите describePair(makePair("Luau", 2026)) одной строкой

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

-- Напишите код здесь
-- 1) определите тип Pair<T, U> = {first: T, second: U}
-- 2) определите makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) определите describePair<T, U>(pair: Pair<T, U>): string
--    возвращающую `({pair.first}, {pair.second})`
-- 4) создайте playerScore (точный текст из инструкций, 87) и levelDone (3, true),
--    затем выведите пять требуемых строк

Все уроки раздела Введение в Luau

Потренируйтесь самостоятельно: Онлайн-компилятор Lua