Menu
CoddyTech

回顾:安全除法

本课属于 Coddy Lua 学习旅程的“逻辑与流程”单元。第 34 课,共 54 课。

challenge icon

挑战

简单

编写一个函数 safeDivide,接收 a 和 b,并返回 a 除以 b 的结果;如果除法失败,则返回错误消息。

该函数应使用 pcall() 安全地执行除法运算。创建一个执行除法的内部函数,并在 b 为 0 时引发错误,然后用 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 在线编译器