Donnez-lui du style (1)
En plus de simplement récupérer la classe, la fonction class() peut servir à la remplacer. La syntaxe est la suivante :
class(x) <- "some_class"
C'est particulièrement utile pour les listes, puisqu'elles permettent de combiner d'autres variables pour créer des variables plus complexes. (Rappelez-vous l'analogie avec les blocs Lego : les variables individuelles sont comme des pièces de Lego, et vous pouvez utiliser des listes pour construire ce que vous voulez.)
Dans cet exercice, vous allez examiner un objet qui stocke l'état d'une partie d'échecs et remplacer sa classe.
Pour bien suivre l'exercice, il faut connaître un peu les échecs.
- Une partie d'échecs oppose deux joueurs, appelés « white » et « black ».
- Chaque joueur a six types de pièces : un roi, une reine, des fous, des cavaliers, des tours et des pions.
- La position de chaque pièce peut être consignée à l'aide de la rangée (« a » à « h ») et de la colonne (1 à 8).
Cette activité fait partie du cours
Programmation orientée objet avec S3 et R6 en R
Instructions de l’exercice
La liste chess a été préconfigurée dans votre espace de travail.
- Explorez
chesspour comprendre sa structure. - Remplacez la classe de
chesspar"chess_game". - Vérifiez si
chessest toujours une liste à l'aide deis.list()(docs). - Déterminez le nombre de pièces encore sur l'échiquier.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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?
___