Lisp: Как переопределить представление строки по умолчанию для закрытого класса?

в Common Lisp, как я могу переопределить представление строки по умолчанию закрытого класса, так что звонки в формате или Pink будет распечатать что-то понятное, даже когда объекты этого класса встроены в другие типы, такие как списки или массивы?

, например, если я звоню (формат T »~ ~% ) Когда X содержит экземпляр моего класса решения, я хочу, чтобы он напечатал что-то вроде # <Гены решения: # (1 2 3) оценки: # (4 5) Ранг: 6> вместо из # <Решение {BB7CD31}> .

До сих пор все, что мне удалось понять, пишет пользовательские функции для обработки структур печати, которые я знаю, будет содержать экземпляры этого класса, но это утомительно. Конечно, Lisp предоставляет какой-то способ получить эту функциональность бесплатно?

14
задан Rainer Joswig 12 September 2011 в 05:38
поделиться