Hai să dăm o clasă (1)
Pe lângă simpla obținere a clasei, funcția class() poate fi folosită și pentru a o suprascrie. Sintaxa este
class(x) <- "some_class"
Acest lucru este deosebit de util pentru liste, deoarece listele pot fi folosite pentru a combina alte variabile în structuri mai complexe. (Ține minte analogia cu Lego: variabilele individuale sunt ca piesele Lego, iar listele îți permit să construiești orice dorești.)
În acest exercițiu, vei analiza un obiect care stochează starea unei partide de șah și îi vei suprascrie clasa.
Pentru a înțelege exercițiul, ai nevoie de câteva noțiuni de bază despre șah.
- Într-o partidă de șah există doi jucători, numiți „alb" și „negru".
- Fiecare jucător dispune de șase tipuri de piese: un rege, o regină, nebuni, cai, turnuri și pioni.
- Poziția fiecărei piese poate fi înregistrată folosind rândul (de la „a" la „h") și coloana (de la 1 la 8).
Acest exercițiu face parte din cursul
Programare orientată pe obiecte cu S3 și R6 în R
Instrucțiuni pentru exercițiu
Variabila de tip listă chess a fost predefinită în spațiul tău de lucru.
- Explorează
chesspentru a înțelege structura sa. - Suprascrie clasa obiectului
chesscu valoarea"chess_game". - Verifică dacă
chesseste în continuare o listă, folosindis.list()(docs). - Determină numărul de piese rămase pe tablă.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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?
___