- Introducción
- 1. Hola Mundo
❱
- 1.1. Comentarios
- 1.2. Imprimir con formatos
❱
- 1.2.1. Depuración
- 1.2.2. Display
❱
- 1.2.2.1. Ejemplot: Lista
- 1.2.3. Formateo
- 2. Primitivas
❱
- 2.1. Operadores y Literales
- 2.2. Tuplas
- 2.3. Arreglos y slices
- 3. Tipos Personalizados
❱
- 3.1. Estructuras
- 3.2. Enums
❱
- 3.2.1. use
- 3.2.2. Herencias de C
- 3.2.3. Ejemplo: lista ligada
- 3.3. constantes
- 4. Enlaces de variables
❱
- 4.1. Mutabilidad
- 4.2. Alcance y sombreo
- 4.3. Declara primero
- 4.4. Congelar
- 5. Tipos
❱
- 5.1. Casteo
- 5.2. Literales
- 5.3. Inferencia
- 5.4. Aliasing
- 6. Conversión
❱
- 6.1. From e Into
- 6.2. TryFrom y TryInto
- 6.3. De y hacia Strings
- 7. Expresiones
- 8. Control de Flujo
❱
- 8.1. if/else
- 8.2. loop
❱
- 8.2.1. Nesting and labels
- 8.2.2. Retornar desde bucles
- 8.3. while
- 8.4. for y range
- 8.5. match
❱
- 8.5.1. Destructura
❱
- 8.5.1.1. tuplas
- 8.5.1.2. arreglos/slices
- 8.5.1.3. enums
- 8.5.1.4. punteros/ref
- 8.5.1.5. structs
- 8.5.2. Guardias
- 8.5.3. Enlaces
- 8.6. if let
- 8.7. let-else
- 8.8. while let
- 9. Funciones
❱
- 9.1. Métodos
- 9.2. Closures
❱
- 9.2.1. Capturas
- 9.2.2. Como parámetros de entrada
- 9.2.3. Anonimidad de tipos
- 9.2.4. Funciones de entrada
- 9.2.5. Como parámetros de salida
- 9.2.6. Ejemplos de std
❱
- 9.2.6.1. Iterator::any
- 9.2.6.2. Buscando con iteradores
- 9.3. Funciones de Mayor Orden
- 9.4. Funciones Divergentes
- 10. Módulos
❱
- 10.1. Visibilidad
- 10.2. Visibilidad de estructuras
- 10.3. La declaración use
- 10.4. super y self
- 10.5. Jerarquía de archivos
- 11. Crates
❱
- 11.1. Creando una Library
- 11.2. Usando un Library
- 12. Cargo
❱
- 12.1. Dependencias
- 12.2. Convenciones
- 12.3. Tests
- 12.4. Scripts de Build
- 13. Atributos
❱
- 13.1. dead_code
- 13.2. Crates
- 13.3. cfg
❱
- 13.3.1. Personalizaciones
- 14. Genéricos
❱
- 14.1. Funciones
- 14.2. Implementación
- 14.3. Traits
- 14.4. Cotas
❱
- 14.4.1. Ejemplo: cotas vacías
- 14.5. Cotas Múltiples
- 14.6. Cláusulas where
- 14.7. Modismo New Type
- 14.8. Ítems asociados
❱
- 14.8.1. El Problema
- 14.8.2. Tipos Asociados
- 14.9. Parámetros Phantom Type
❱
- 14.9.1. Ejemplo: clarificación de unidades
- 15. Reglas de alcance
❱
- 15.1. RAII
- 15.2. Ownership y moves
❱
- 15.2.1. Mutabilidad
- 15.2.2. Moves parciales
- 15.3. Borrowing
❱
- 15.3.1. Mutabilidad
- 15.3.2. Aliasing
- 15.3.3. El patrón de ref
- 15.4. Lifetimes
❱
- 15.4.1. Anotación explícita
- 15.4.2. Funciones
- 15.4.3. Métodos
- 15.4.4. Structs
- 15.4.5. Traits
- 15.4.6. Cotas
- 15.4.7. Coerción
- 15.4.8. Static
- 15.4.9. Elisión
- 16. Traits
❱
- 16.1. Derive
- 16.2. Retornando Traits con dyn
- 16.3. Sobrecarga de Operadores
- 16.4. Drop
- 16.5. Iterators
- 16.6. impl Trait
- 16.7. Clone
- 16.8. Supertraits
- 16.9. Desambiguando traits empalmados
- 17. macro_rules!
❱
- 17.1. Sintaxis
❱
- 17.1.1. Designadores
- 17.1.2. Sobrecarga
- 17.1.3. Repetición
- 17.2. DRY (Don't Repeat Yourself)
- 17.3. DSL (Domain Specific Languages)
- 17.4. Variádicas
- 18. Manejo de Errores
❱
- 18.1. panic
- 18.2. abort & unwind
- 18.3. Option & unwrap
❱
- 18.3.1. Desempacando Options con ?
- 18.3.2. Combinadores: map
- 18.3.3. Combinadores: and_then
- 18.3.4. Defaults: or, or_else, get_or_insert, get_or_insert_with
- 18.4. Result
❱
- 18.4.1. map for Result
- 18.4.2. aliases para Result
- 18.4.3. Retornos tempranos
- 18.4.4. Introduciendo ?
- 18.5. Mùltiples tipos de errores
❱
- 18.5.1. Sacando Results de Options
- 18.5.2. Definiendo un tipo de error
- 18.5.3. Boxing de errores
- 18.5.4. Otros usos de ?
- 18.5.5. Envolviendo errores
- 18.6. Iterando sobre Results
- 19. Tipos de la biblioteca std
❱
- 19.1. Box, stack y heap
- 19.2. Vectores
- 19.3. Cadenas
- 19.4. Option
- 19.5. Result
❱
- 19.5.1. ?
- 19.6. panic!
- 19.7. HashMap
❱
- 19.7.1. Tipos de llaves personalizadas/alternas
- 19.7.2. HashSet
- 19.8. Rc
- 19.9. Arc
- 20. Std misc
❱
- 20.1. Hilos
❱
- 20.1.1. Ejemplo: map-reduce
- 20.2. Canales
- 20.3. Path
- 20.4. File I/O
❱
- 20.4.1. open
- 20.4.2. create
- 20.4.3. read_lines
- 20.5. Procesos hijos
❱
- 20.5.1. Pipes
- 20.5.2. Wait
- 20.6. Operaciones de Sistema Operativo
- 20.7. Argumentos del Programa
❱
- 20.7.1. Parse de argumentos
- 20.8. Foreign Function Interface
- 21. Pruebas
❱
- 21.1. Pruebas Unitarias
- 21.2. Pruebas de Documentación
- 21.3. Pruebas de integración
- 21.4. Dependencias de desarrollo
- 22. Operaciones Unsafe
❱
- 22.1. Ensamblador Inline
- 23. Compatibilidad
❱
- 23.1. Identificadores llanos
- 24. Meta
❱
- 24.1. Documentación
- 24.2. Playground