Ô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.
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
bcó bằng 0 không - Nếu
bbằng 0, gọierror("Cannot divide by zero", 0)(giá trị0loạ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ị chiab(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
2Các hàm khác của thư viện table
table.concat()Tạo table và unpack()table.sort()Sắp xếp tùy chỉnh bằng hàmÔn tập: Bảng điểm cao5Dự án: Bộ máy trò chơi phiêu lưu bằng văn bản
Thiết lập dự án: Căn phòngLiên kết các phòngTự luyện tập: Trình biên dịch Lua online