Esta pregunta probablemente terminará en una facepalm, pero lo he intentado por un tiempo y todavía estoy atascado a pesar de leer a través del hiperespec.- Ayuda con la impresión de una tabla
Básicamente lo que quiero hacer es algo así como
(format t "~{|~{ ~5d~}|~%~}" '((1 23 2 312) (23 456 1 7890)))
pero en vez de duro-codificante 5 debe calcularse a partir de la lista (longitud del elemento más largo de cualquier lista anidada + 1) para dar algo como
| 1 23 2 312|
| 23 456 1 7890|
Tal vez estoy pensando demasiado complicado aquí y hay una manera más fácil de hacer lo que quiera, pero creo que me encontré a mí mismo en una esquina mental que no puedo salir.
Puede que exista un control '~' para hacer lo que desee, pero lo haría en 2 pasos: calcule el elemento más ancho, luego cree una cadena de formato (con formato) usando eso, luego llame formato para construir la tabla. Entonces es una función de 3 líneas en lugar de una función de 1 línea. :-) – Ken