common-lisp Uso básico y directivas simples


Ejemplo

Los primeros dos argumentos para dar formato son una secuencia de salida y una cadena de control. El uso básico no requiere argumentos adicionales. Al pasar t como la secuencia se escribe en *standard-output* .

> (format t "Basic Message")
Basic Message
nil

Esa expresión escribirá el Basic Message en la salida estándar y devolverá nil .

Al pasar nil como la secuencia crea una nueva cadena y la devuelve.

> (format nil "Basic Message")
"Basic Message"

La mayoría de las directivas de cadenas de control requieren argumentos adicionales. La directiva ~a ("estética") imprimirá cualquier argumento como por el procedimiento de princ . Esto imprime el formulario sin caracteres de escape (las palabras clave se imprimen sin los dos puntos iniciales, las cadenas sin las comillas circundantes, etc.).

> (format nil "A Test: ~a" 42)
"A Test: 42"
> (format nil "Multiples: ~a ~a ~a ~a" 1 (list 2 3) "four five" :six)
"Multiples: 1 (2 3) four five SIX"
> (format nil "A Test: ~a" :test)
"A Test: TEST"
> (format nil "A Test: ~a" "Example")
"A Test: Example"

~a opcionalmente derecha o izquierda de pads basada en entradas adicionales.

> (format nil "A Test: ~10a" "Example")
"A Test: Example   "
> (format nil "A Test: ~10@a" "Example")
"A Test:    Example"

El ~s directiva es como ~a , pero imprime caracteres de escape.

> (format nil "A Test: ~s" 42)
"A Test: 42"
> (format nil "Multiples: ~s ~s ~s ~s" 1 (list 2 3) "four five" :six)
"Multiples: 1 (2 3) \"four five\" :SIX"
> (format nil "A Test: ~s" :test)
"A Test: :TEST"
> (format nil "A Test: ~s" "Example")
"A Test: \"Example\""