У меня есть объект, который Tcl показывает в консоли как его идентификатор объекта. Как я могу расширить Tcl так, чтобы всякий раз, когда объекты моего типа печатались, автоматически вызывался специальный процесс, который я предоставляю для печати их содержимого вместо того, чтобы просто указывать идентификатор объекта?
Еще несколько подробностей: я эмулирую список списков в Tcl, который составлен из cons-ячеек, в каждой из которых есть машина и CDR. Список 1 "два" 3 будет создан с помощью:
(cons 1 (cons "two" (cons 3 nil)))
, что создает 3 против клетки. Верхняя консорная ячейка, в которой есть 1 в своем автомобиле, имеет указатель на вторую консольную ячейку, в которой есть «два» в ее автомобиле и т. Д.
С этим представлением я хочу, чтобы вышеприведенный список образцов распечатался как:
(1 "two" 3)