common-lisp
#common-
lisp
Tabla de contenido
Acerca de
Capítulo 1: Empezando con common-lisp
Observaciones
Versiones
Examples
Hola Mundo
Hola nombre
El sencillo programa Hello World en REPL.
Expresiones basicas
Suma de lista de enteros
Expresiones Lambda y Funciones Anónimas
Recursos de aprendizaje comunes de Lisp
Capítulo 2: ANSI Common Lisp, el estándar de lenguaje y su documentación.
Examples
Common Lisp HyperSpec
Declaraciones de sintaxis EBNF en la documentación.
Common Lisp the Language, 2ª edición, por Guy L. Steele Jr.
CLiki - Propuestas revisiones y aclaraciones de ANSI
Referencia rápida de Common Lisp
El estándar ANSI Common Lisp en formato Texinfo (especialmente útil para GNU Emacs)
Capítulo 3: ASDF - Otra facilidad de definición de sistema
Observaciones
Examples
Sistema ASDF simple con una estructura de directorio plana.
Cómo definir una operación de prueba para un sistema
¿En qué paquete debo definir mi sistema ASDF?
Capítulo 4: Booleanos y booleanos generalizados
Examples
Verdadero y falso
Booleanos generalizados
1
2
2
2
2
2
3
6
6
7
7
7
10
10
10
10
10
11
11
11
12
12
12
12
13
13
14
14
14
14
Capítulo 5: Bucles basicos
Sintaxis
Examples
dotimes
lista de tareas
Bucle simple
Capítulo 6: Citar
Sintaxis
Observaciones
Examples
Ejemplo de cita simple
'es un alias para el operador especial QUOTE
Si los objetos citados son modificados destructivamente, las consecuencias son indefinidas
Cotización y autoevaluación de objetos.
Capítulo 7: CLOS - el sistema de objetos Common Lisp
Examples
Creando una clase básica de CLOS sin padres
Mixins e interfaces
Capítulo 8: Contras celdas y listas
Examples
Listas como convención
¿Qué es una célula contras?
Dibujando células de contras
Capítulo 9: Corrientes
Sintaxis
Parámetros
Examples
Creando flujos de entrada desde cadenas
Escritura de salida a una cadena
Arroyos grises
Archivo de lectura
Escribiendo en un archivo
16
16
16
16
16
17
18
18
18
18
18
18
18
19
20
20
20
21
23
23
23
23
24
27
27
27
27
27
28
28
29
29
Copiando un archivo
Leyendo y escribiendo archivos enteros en y desde cadenas
Capítulo 10: Creando Binarios
Examples
Edificio buildapp
Buildapp Hello World
Buildapp Hello Web World
Capítulo 11: Estructuras de Control
Examples
Construcciones condicionales
El bucle do
Capítulo 12: Examen de la unidad
Examples
Usando FiveAM
Cargando la biblioteca
Definir un caso de prueba.
Ejecutar pruebas
Notas
Introducción
Capítulo 13: Expresiones regulares
Examples
Usando con la coincidencia de patrones para unir grupos capturados
Encuadernación de grupos de registro con CL-PPCRE.
Capítulo 14: Formas de agrupación
Examples
¿Cuándo es necesaria la agrupación?
Progreso
Avances implícitos
Prog1 y Prog2
Bloquear
Tagbody
30
31
33
33
33
33
34
37
37
37
38
40
40
40
40
40
40
41
41
42
42
42
42
43
43
43
43
43
44
45
45
¿Qué forma utilizar?
Capítulo 15: formato
Parámetros
Observaciones
Examples
Uso básico y directivas simples
Iterando sobre una lista
Expresiones condicionales
Capítulo 16: Funciones
Observaciones
Examples
Parámetros requeridos
Parámetros opcionales
Alor por defecto
Compruebe si el argumento opcional fue dado
Función sin parámetros
Parámetro de descanso
Resto y parámetros de palabras clave juntos
Variables auxiliares
RETURN-FROM, salir de un bloque o una función
Parámetros de palabras clave
Capítulo 17: Funciones como valores de primera clase.
Sintaxis
Parámetros
Observaciones
Examples
Definiendo funciones anónimas.
Haciendo referencia a las funciones existentes
Funciones de orden superior
Sumando una lista
Implementación de reversa y reventa.
46
47
47
47
47
47
48
49
51
51
51
51
51
51
52
52
53
53
54
55
55
56
56
56
56
56
57
57
58
59
60
Cierres
Definiendo funciones que toman funciones y devuelven funciones.
Capítulo 18: Funciones de mapeo sobre listas
Examples
Visión general
Ejemplos de MAPCAR
Ejemplos de MAPLIST
Ejemplos de MAPCAN y MAPCON
Ejemplos de MAPC y MAPL
Capítulo 19: Igualdad y otros predicados de comparación.
Examples
La diferencia entre EQ y EQL.
Igualdad estructural con EQUAL, EQUALP, TREE-EQUAL
Operadores de comparación en valores numéricos
Operadores de comparación en caracteres y cadenas.
Overwiew
Capítulo 20: La coincidencia de patrones
Examples
Visión general
Despachando solicitudes de Clack
defun-match
Patrones de constructor
Patrón de guardia
Capítulo 21: Léxico vs variables especiales
Examples
Las variables especiales globales son especiales en todas partes
Capítulo 22: LOOP, una macro de Common Lisp para iteración
Examples
Bucles limitados
Bucle sobre secuencias
Bucle sobre tablas de hash
Formulario de bucle simple
60
61
62
62
62
63
63
63
64
66
66
66
67
68
69
70
72
72
72
72
72
72
73
74
74
74
76
76
76
76
77
77
Bucle sobre paquetes
Bucles aritméticos
Desestructuración en declaraciones FOR
LOOP como expresión
Condicionalmente ejecutando cláusulas LOOP.
Iteración paralela
Iteración anidada
Cláusula de RETORNO versus formulario de RETORNO.
Bucle sobre una ventana de una lista
Capítulo 23: macros
Observaciones
El propósito de las macros
Orden de Macroexpansion
Orden de evaluación
Evaluar una sola vez
Funciones utilizadas por las macros, utilizando EVAL-WHEN
Examples
Patrones de macro comunes
FOOF
CON FOO
DO-FOO
FOOCASE, EFOOCASE, CFOOCASE
DEFINE-FOO, DEFFOO
Macros anafóricas
MACROEXPAND
Backquote - escribiendo plantillas de código para macros
Símbolos únicos para evitar choques de nombre en macros
si-vamos, cuando-dejemos macros de entrada
Usando macros para definir estructuras de datos
Capítulo 24: Mesas de hash
Examples
77
78
78
79
80
81
82
82
82
84
84
84
84
84
84
84
85
85
85
85
86
86
87
87
87
88
89
90
91
92
92
Creando una tabla hash
Iterando sobre las entradas de una tabla hash con maphash
Iterando sobre las entradas de una tabla hash con bucle
Sobre llaves y valores.
Sobre llaves
Sobre valores
Iterando sobre las entradas de una tabla hash con un iterador de tabla hash
Capítulo 25: Personalización
Examples
Más características para el Read-Eval-Print-Loop (REPL) en un terminal
Archivos de inicialización
Ajustes de optimización
Capítulo 26: Protocolo de metaobjetos CLOS
Examples
Obtener los nombres de tragamonedas de una clase
Actualizar una ranura cuando se modifica otra ranura
Capítulo 27: Recursion
Observaciones
Examples
Recursión de plantilla 2 de múltiples condiciones.
Recursión plantilla 1 sola condición recursión de cola única
Calcular el número de Fibonacci
Imprimir recursivamente los elementos de una lista
Calcular el factorial de un número entero
Capítulo 28: secuencia - cómo dividir una secuencia
Sintaxis
Examples
Dividir cadenas usando expresiones regulares
SPLIT-SEQUENCE en LIspWorks
Usando la biblioteca de secuencia dividida
Capítulo 29: Tipos de listas
Examples
92
92
92
92
93
93
93
95
95
95
95
96
97
97
97
97
99
99
99
99
100
100
100
101
102
102
102
102
102
102
104
104
Listas simples
Listas de asociaciones
Listas de propiedades
Capítulo 30: Trabajando con bases de datos
Examples
Uso simple de PostgreSQL con Postmodern
Capítulo 31: Trabajando con SLIME
Examples
Instalación
Portales y multiplataforma Emacs, Slime, Quicklisp, SBCL y Git
Manual de instalación
Iniciar y finalizar SLIME, comandos REPL especiales (comas)
Usando REPL
Manejo de errores
Configuración de un servidor SWANK sobre un túnel SSH.
Creditos
104
104
106
108
108
108
110
110
110
110
110
112
112
113
114
115
Acerca de
You can share this PDF with anyone you feel could benefit from it, downloaded the latest version
from: common-lisp
It is an unofficial and free common-lisp ebook created for educational purposes. All the content is
extracted from Stack Overflow Documentation, which is written by many hardworking individuals at
Stack Overflow. It is neither affiliated with Stack Overflow nor official common-lisp.
The content is released under Creative Commons BY-SA, and the list of contributors to each
chapter are provided in the credits section at the end of this book. Images may be copyright of
their respective owners unless otherwise specified. All trademarks and registered trademarks are
the property of their respective company owners.
Use the content presented in this book at your own risk; it is not guaranteed to be correct nor
accurate, please send your feedback and corrections to
[email protected]
https://riptutorial.com/es/home
1
Capítulo 1: Empezando con common-lisp
Observaciones
Esta es una función simple de hello world en Common Lisp. Ejemplos imprimirán el texto Hello,
World! (sin comillas, seguido de una nueva línea) a la salida estándar.
Common Lisp es un lenguaje de programación que se usa en gran medida de forma interactiva
mediante una interfaz conocida como REPL. El REPL (Leer Eval Print Loop) le permite a uno
escribir código, hacer que se evalúe (ejecutar) y ver los resultados inmediatamente. CL-USER>
indica el aviso para el REPL (en cuyo punto se escribe el código a ejecutar). A veces, algo distinto
de CL-USER aparecerá antes del > pero esto sigue siendo un REPL.
Después de la solicitud, aparece algún código, generalmente una sola palabra (es decir, un
nombre de variable) o un formulario (una lista de palabras / formas entre ( y ) ) (es decir, una
llamada de función o declaración, etc.). En la siguiente línea habrá cualquier salida que el
programa imprima (o nada si el programa no imprime nada) y luego los valores devueltos al
evaluar la expresión. Normalmente, una expresión devuelve un valor, pero si devuelve varios
valores, aparecen una vez por línea.
Versiones
Versión
Fecha de lanzamiento
Lisp común
1984-01-01
ANSI Common Lisp 1994-01-01
Examples
Hola Mundo
Comentarios de: Aprendizaje common-lisp (0)
No hay comentarios