Menu
Coddy logo textTech

Итоги — Векторная математика

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

challenge icon

Задание

Легко

Напишите функцию createVector, которая принимает координаты x и y и возвращает строку, демонстрирующую операции с векторами.

Создайте конструктор вектора, который строит таблицу с полями x и y, а затем прикрепляет метатаблицу, реализующую __add для сложения векторов и __tostring для пользовательского строкового представления. Функция должна создать два вектора, используя предоставленные координаты, сложить их и вернуть строковое представление результата.

Логика:

  • Создайте функцию-конструктор, которая строит таблицу вектора с полями x и y
  • Определите метатаблицу с __add, которая складывает соответствующие компоненты x и y
  • Определите __tostring для возврата формата Vector(x, y)
  • Прикрепите метатаблицу к вектору с помощью setmetatable()
  • Создайте первый вектор с координатами (x, y)
  • Создайте второй вектор с координатами (x, y)
  • Сложите два вектора вместе, используя оператор +
  • Верните строковое представление результирующего вектора с помощью tostring()

Параметры:

  • x (number): Координата x для обоих векторов
  • y (number): Координата y для обоих векторов

Возвращает: Строковое представление суммы двух векторов (string). Формат: Vector(6, 8) для входных данных (3, 4)

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

function createVector(x, y)
    -- Напишите код здесь
end

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