Buat Jadi Kelas (1)
Selain untuk sekadar mengambil kelas, fungsi class() juga dapat digunakan untuk menimpanya. Sintaksnya adalah
class(x) <- "some_class"
Ini sangat berguna untuk list, karena list dapat digunakan untuk menggabungkan variabel lain menjadi variabel yang lebih kompleks. (Ingat analogi Lego: variabel individual seperti kepingan Lego, dan Anda dapat menggunakan list untuk membangun apa pun yang Anda inginkan.)
Dalam latihan ini, Anda akan melihat sebuah objek untuk menyimpan keadaan sebuah permainan catur, dan menimpa kelasnya.
Agar latihan ini masuk akal, Anda perlu mengetahui sedikit tentang catur.
- Ada dua pemain dalam permainan catur, bernama "white" dan "black".
- Setiap pemain memiliki enam jenis bidak: raja, menteri (queen), gajah (bishop), kuda (knight), benteng (rook), dan pion (pawn).
- Posisi setiap bidak dapat dicatat menggunakan baris ("a" hingga "h") dan kolom (1 hingga 8).
Latihan ini adalah bagian dari kursus
Pemrograman Berorientasi Objek dengan S3 dan R6 di R
Petunjuk latihan
Variabel list chess telah didefinisikan sebelumnya di workspace Anda.
- Jelajahi
chessuntuk memahami strukturnya. - Timpa kelas
chessmenjadi"chess_game". - Periksa apakah
chessmasih berupa list, gunakanis.list()(docs). - Tentukan jumlah bidak yang masih tersisa di papan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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?
___