Skip to content

Instantly share code, notes, and snippets.

@jmsalcido
Created December 11, 2011 09:18
Show Gist options
  • Save jmsalcido/1459550 to your computer and use it in GitHub Desktop.
Save jmsalcido/1459550 to your computer and use it in GitHub Desktop.
Pruebas de Common Lisp
; ===========
; mp3_db.lisp
; ===========
; Primer programa en Common Lisp
; Simple base de datos de cds, practicamente el primer ejemplo de: Practical Common Lisp
;
; Porque Lisp?
; Por lo que he leido, es una gran manera de aprender!
;
; Autor:
; - Jose Miguel Salcido Aguilar - Diciembre 11 2011
; =======================================================================================
; ***** NOTA *****
; ESTE PROGRAMA SOLO IMPRIME LA LISTA QUE SE LE AGREGUE EN EL CODIGO
; NO ACEPTA INPUT POR QUE AUN NO SE MANEJARLO
; JEJEJEJEJEJEJEJEJE
; SUERTE
; ***** NOTA *****
; DEFINIR *db*: NIL
(defvar *db* nil)
; FUNCION make-cd: Funcion que pide titulo, artista, valor y ripped
; regresa una lista
(defun make-cd (title artist rating ripped)
(list :title title :artist artist :rating rating :ripped ripped))
; FUNCION add-record: Agrega a la variable *db* el parametro dado (practicamente una lista)
(defun add-record (cd) (push cd *db*))
; Llenando *db*
(add-record (make-cd "Love" "Angels and Airwaves" 9 t))
(add-record (make-cd "Love Pt 2" "Angels and Airwaves" 9 t))
(add-record (make-cd "Sueño de la Maquina" "Kinky" 7 t))
(add-record (make-cd "Avion" "Kinky" 8 t))
(add-record (make-cd "Blink 182" "Blink 182" 9 t))
; Datos que se suponen
; FUNCION dump-db: Funcion que imprime la base de datos de una manera legible por los humanos!
(defun dump-db ()
(dolist (cd *db*)
(format t "~{~a:~10t~a~%~}~%" cd)))
; FUNCION encabezado: Funcion que imprime el encabezado del programa
(defun encabezado ()
(format t "~%Base de Datos de MP3~%=====================~%~%"))
; Imprimir la base de datos
(encabezado)
(dump-db)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment