Повторение — безопасное деление
Часть раздела Logic & Flow путешествия по Lua на Coddy — урок 34 из 54.
Задание
ЛегкоНапишите функцию safeDivide, которая принимает a и b и возвращает результат деления a на b или сообщение об ошибке, если деление не удалось.
Функция должна использовать pcall() для безопасного выполнения операции деления. Создайте внутреннюю функцию, которая выполняет деление и вызывает ошибку, если b равно нулю, а затем оберните ее в pcall(), чтобы перехватить любые ошибки.
Логика:
- Создайте внутреннюю функцию, которая проверяет, равно ли
b0 - Если
bравно 0, вызовитеerror("Cannot divide by zero") - В противном случае верните
a / b - Используйте
pcall()для выполнения внутренней функции - В случае успеха верните
"Result: ", за которым следует результат деления - Если возникла ошибка, верните
"Error: ", за которым следует сообщение об ошибке
Параметры:
a(число): Делимоеb(число): Делитель
Возвращает: Строку, содержащую либо "Result: ", за которым следует результат деления, либо "Error: ", за которым следует сообщение об ошибке (строка)
Попробуйте сами
function safeDivide(a, b)
-- Напишите код здесь
end
Все уроки раздела Logic & Flow
1Продвинутая итерация таблиц
Итерация с помощью pairs()Итерация с помощью ipairs()pairs() против ipairs()Повторение — Лист персонажа2Дополнительные функции библиотеки table
table.concat()Создание таблиц и unpack()table.sort()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордов