Menu
Coddy logo textTech

Повторение — безопасное деление

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

challenge icon

Задание

Легко

Напишите функцию safeDivide, которая принимает a и b и возвращает результат деления a на b или сообщение об ошибке, если деление не удалось.

Функция должна использовать pcall() для безопасного выполнения операции деления. Создайте внутреннюю функцию, которая выполняет деление и вызывает ошибку, если b равно нулю, а затем оберните ее в pcall(), чтобы перехватить любые ошибки.

Логика:

  • Создайте внутреннюю функцию, которая проверяет, равно ли b 0
  • Если b равно 0, вызовите error("Cannot divide by zero")
  • В противном случае верните a / b
  • Используйте pcall() для выполнения внутренней функции
  • В случае успеха верните "Result: ", за которым следует результат деления
  • Если возникла ошибка, верните "Error: ", за которым следует сообщение об ошибке

Параметры:

  • a (число): Делимое
  • b (число): Делитель

Возвращает: Строку, содержащую либо "Result: ", за которым следует результат деления, либо "Error: ", за которым следует сообщение об ошибке (строка)

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

function safeDivide(a, b)
    -- Напишите код здесь
end

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