Пример форматирования текста
(format t "Color ~a, number1 ~d, number2 ~5,'0d, hex ~x, float ~5,2f, unsigned value ~d.~%"
"red" 123456 89 255 3.14 250)
Color red, number1 123456, number2 00089, hex FF, float 3.14, unsigned value 250.
Два частых варианта использования format
(format t "string") ; напечатает строку в поток вывода
(format nil "string") ; вернёт полученную строку
Печатаем список в цикле
(format nil "The Marx brothers are:~{ ~A~}."
'("Groucho" "Harpo" "Chico" "Zeppo" "Karl"))
; "The Marx brothers are: Groucho Harpo Chico Zeppo Karl."
Если при итерации не остаётся больше элементов в списке - конструкция "~^" прервёт дальнейшее выполнение. В данном случае не будет напечатано ", " после последнего элемента
(format nil "~{~a~^, ~}" (list 1 2 3))
; "1, 2, 3"
Источники:
Ссылки по теме:
- www.lispworks.com - Подробно о format