Làm cho nó “Classy” (1)
Bên cạnh việc chỉ lấy lớp, hàm class() còn có thể dùng để ghi đè lớp. Cú pháp là
class(x) <- "some_class"
Điều này đặc biệt hữu ích với list, vì list có thể dùng để kết hợp các biến khác thành những biến phức tạp hơn. (Hãy nhớ phép so sánh với Lego: từng biến riêng lẻ giống như các mảnh Lego, và bạn có thể dùng list để lắp ghép bất kỳ thứ gì bạn muốn.)
Trong bài này, bạn sẽ xem một đối tượng lưu trạng thái của một ván cờ vua, và ghi đè lớp của nó.
Để hiểu bài tập, bạn cần biết một chút về cờ vua.
- Có hai người chơi trong một ván cờ, gọi là "white" và "black".
- Mỗi người chơi có sáu loại quân: vua (king), hậu (queen), tượng (bishop), mã (knight), xe (rook), và tốt (pawn).
- Vị trí của mỗi quân có thể được ghi bằng hàng ("a" đến "h") và cột (1 đến 8).
Bài tập này là một phần của khóa học
Lập trình hướng đối tượng với S3 và R6 trong R
Hướng dẫn bài tập
Biến list chess đã được định nghĩa sẵn trong không gian làm việc của bạn.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Explore the structure of chess
str(chess)
# Override the class of chess
___ <- ___
# Is chess still a list?
___
# How many pieces are left on the board?
___