Menu
CoddyTech

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

Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 34 из 54.

challenge icon

Задание

Легко

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

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

Логика:

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

Параметры:

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

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

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

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

Все уроки раздела Логика и управление потоком

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