2012-03-12 3 views
1

animal, 서브 클래스가 horse, duckrabbit 인 것으로 가정합니다. make-instance을 사용하여 animal 클래스의 여러 객체를 만들었다 고 가정합니다. 훨씬 후에 각 객체에 대해 실제로는 horse이거나 duck 또는 rabbit이라는 것을 알게되었습니다. 이 객체를 다시 입력하는 방법이 있습니까? 해당 하위 유형의 새 객체를 만들고 모든 슬롯의 데이터를 복사하기 만하면됩니다.이 시점에서 객체는 이미 다른 객체의 슬롯에있는 목록에 이미 표시되어 있으므로 이동해야합니다. 그 목록을 통해 이전 개체를 새로운 개체로 바꿉니다.clisp, CLOS : 나중에 객체를 다시 입력

동일한 이전 개체를 유지하고 하위 개체를 분류합니다. 내가 할 수 있을까?

답변

2

CHANGE-CLASS, 표준 Common Lisp 기능.

+0

... 나는 이것을 어떻게 놓쳤는 지 모릅니다. 바로 CLtL에있었습니다. 고맙습니다! –

+3

어서 오세요. 당신은 Lisp에 복음을 전하기 위해 이미 답을 알고있는 질문을 분명히 게시하고 있습니다. :) – Kaz

관련 문제