Menu
CoddyTech

Ôn tập: phép chia an toàn

Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 34 trên 54.

challenge icon

Thử thách

Dễ

Viết một hàm safeDivide nhận a và b, rồi trả về kết quả phép chia a cho b hoặc thông báo lỗi nếu phép chia thất bại.

Hàm cần dùng pcall() để thực hiện phép chia một cách an toàn. Tạo một hàm bên trong để thực hiện phép chia và gây ra lỗi nếu b bằng 0, sau đó bọc hàm đó bằng pcall() để bắt mọi lỗi.

Logic:

  • Tạo một hàm bên trong để kiểm tra xem b có bằng 0 không
  • Nếu b bằng 0, gọi error("Cannot divide by zero", 0) (giá trị 0 loại tên tệp và số dòng khỏi thông báo)
  • Nếu không, trả về a / b
  • Dùng pcall() để chạy hàm bên trong
  • Nếu thành công, trả về "Result: " theo sau là kết quả phép chia
  • Nếu xảy ra lỗi, trả về "Error: " theo sau là thông báo lỗi

Tham số:

  • a (số): Số bị chia
  • b (số): Số chia

Giá trị trả về: Một chuỗi chứa "Result: " theo sau là kết quả phép chia, hoặc "Error: " theo sau là thông báo lỗi (chuỗi)

Tự làm thử

function safeDivide(a, b)
    -- Viết code ở đây
end

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Lua online