클래스로 만들기 (1)
class() 함수는 클래스를 확인하는 것뿐만 아니라, 재지정(override)하는 데에도 사용할 수 있어요. 문법은 다음과 같습니다.
class(x) <- "some_class"
이는 특히 리스트에 유용한데, 리스트를 사용하면 다른 변수를 결합해 더 복잡한 변수를 만들 수 있기 때문이에요. (레고 비유를 떠올려 보세요. 개별 변수는 레고 조각과 같고, 리스트를 이용하면 원하는 구조물을 만들 수 있어요.)
이번 연습 문제에서는 체스 경기의 상태를 저장하는 객체를 살펴보고, 그 클래스(형식)를 재지정해 보겠습니다.
이 연습을 이해하려면 체스에 대해 간단히 알아야 해요.
- 체스에는 "white"와 "black" 두 명의 플레이어가 있습니다.
- 각 플레이어는 킹(king), 퀸(queen), 비숍(bishop), 나이트(knight), 룩(rook), 폰(pawn) 여섯 종류의 말을 가집니다.
- 각 말의 위치는 행("a"부터 "h")과 열(1부터 8)로 기록할 수 있습니다.
이 연습은 강의의 일부입니다
R에서 S3와 R6로 배우는 Object-Oriented Programming
연습 안내
작업 공간에 리스트 변수 chess가 미리 정의되어 있습니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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?
___