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