Ôn tập: phép toán vectơ
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 54 trên 54.
Thử thách
DễViết một hàm (function) createVector nhận tọa độ x và y, rồi trả về một chuỗi thể hiện các phép toán vectơ.
Tạo hàm khởi tạo để tạo một bảng có các trường x và y, sau đó gắn siêu bảng để triển khai phép cộng vectơ bằng __add và cách biểu diễn chuỗi tùy chỉnh bằng __tostring. Hàm cần tạo hai vectơ bằng các tọa độ đã cho, cộng chúng với nhau rồi trả về chuỗi biểu diễn kết quả.
Logic:
- Tạo hàm khởi tạo để tạo một bảng vectơ có các trường x và y
- Định nghĩa siêu bảng có
__addđể cộng các thành phần x và y tương ứng - Định nghĩa
__tostringđể trả về định dạngVector(x, y) - Gắn siêu bảng vào vectơ bằng
setmetatable() - Tạo vectơ thứ nhất với tọa độ (x, y)
- Tạo vectơ thứ hai với tọa độ (x, y)
- Cộng hai vectơ với nhau bằng toán tử
+ - Trả về chuỗi biểu diễn vectơ kết quả bằng
tostring()
Tham số:
x(số): Tọa độ x của cả hai vectơy(số): Tọa độ y của cả hai vectơ
Giá trị trả về: Chuỗi biểu diễn tổng của hai vectơ (chuỗi). Định dạng: Vector(6, 8) với đầu vào (3, 4)
Tự làm thử
function createVector(x, y)
-- 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òng3Các khái niệm nâng cao về hàm
Trả về nhiều giá trịHàm nhận số lượng đối số linh hoạt (...)Hàm là giá trị hạng nhấtHàm ẩn danhClosure là gì?Ôn tập: bộ xử lý sự kiện đơn giản9Coroutine cho người mới bắt đầu
Coroutine là gì?Tạo và tiếp tục coroutineTạm dừng bằng coroutine.yield()Resume và yieldKiểm tra trạng thái coroutineÔn tập: trình tạo sốÔn tập: phép toán vectơTự luyện tập: Trình biên dịch Lua online