Skip to content

Commit

Permalink
Merge pull request RustLangES#51 from ivanlynch/main
Browse files Browse the repository at this point in the history
fix: improved readability and traslations in chapter sections 5.2 and 5.3
  • Loading branch information
ivanlynch authored Feb 15, 2024
2 parents 028caba + 1306faa commit d8748de
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
14 changes: 6 additions & 8 deletions src/ch05-02-example-structs.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ El problema con este código es evidente en la firma de `area`:
{{#rustdoc_include ../listings/ch05-using-structs-to-structure-related-data/listing-05-08/src/main.rs:here}}
```

La función `area` está supuesta para calcular el área de un rectángulo, pero
La función `area` está supuestamente para calcular el área de un rectángulo, pero
la función que escribimos tiene dos parámetros, y no está claro en ningún
lugar de nuestro programa que los parámetros están relacionados. Sería más
legible y más manejable agrupar el ancho y el alto juntos. Ya hemos discutido
Expand Down Expand Up @@ -72,8 +72,7 @@ más fácil introducir errores.
### Refactorizando con Structs: Añadiendo Más Significado

Hemos usado structs para agregar significado al etiquetar los datos. Podemos
transformar la tupla que estamos usando en un struct con un nombre para el
todo y nombres para las partes, como se muestra en la lista 5-10.
transformar la tupla que estamos usando en un struct con un nombre para la estructura y nombres para los campos, como se muestra en la lista 5-10.

<span class="filename">Filename: src/main.rs</span>

Expand Down Expand Up @@ -226,11 +225,10 @@ siguiente llamada. Aquí está el output de este ejemplo:
{{#include ../listings/ch05-using-structs-to-structure-related-data/no-listing-05-dbg-macro/output.txt}}
```

Podemos ver que la primera parte de la salida proviene de *src/main.rs* línea
10 donde estamos depurando la expresión `30 * scale`, y su valor resultante es
`60` (la formateo `Debug` implementado para enteros es imprimir solo su valor).
La llamada `dbg!` en la línea 14 de *src/main.rs* produce el valor de `&rect1`,
que es la estructura `Rectangle`. Esta salida usa el formateo `Debug` de la
Podemos ver que el primer bit de salida proviene de la linea 10 de *src/main.rs* donde estamos depurando la expresión `30 * scale`, y su valor resultante es
`60` (el formato de `Debug` implementado para enteros es imprimir sólo su valor).
La llamada a `dbg!` en la línea 14 de *src/main.rs* produce el valor de `&rect1`,
que es la estructura de `Rectangle`. Esta salida usa el formato `Debug` de la
estructura `Rectangle`. La macro `dbg!` puede ser realmente útil cuando está
tratando de averiguar qué está haciendo su código.

Expand Down
12 changes: 6 additions & 6 deletions src/ch05-03-method-syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ como se muestra en el Listado 5-13.
Para definir la función dentro del contexto de `Rectangle`, iniciamos un bloque
`impl` (implementación). Todo lo que esté dentro de este bloque `impl` estará
asociado al tipo `Rectangle`. Luego movemos la función `area` dentro de las
llaves del `impl` y cambiamos el primer (y en este caso, único) parámetro para
llaves del bloque `impl` y cambiamos el primer (y en este caso, único) parámetro para
ser `self` en la firma y en todas partes dentro del cuerpo. En `main`, donde
llamamos a la función `area` y pasamos `rect1` como argumento, podemos en vez
de eso usar la *sintaxis de método* para llamar al método `area` en nuestra
Expand All @@ -42,10 +42,10 @@ En la firma para `area`, usamos `&self` en vez de `rectangle: &Rectangle`. El
`impl`. Los métodos deben tener un parámetro llamado `self` de tipo `Self` para
su primer parámetro, por lo que Rust nos permite abreviar esto con solo el
nombre `self` en el primer parámetro. Ten en cuenta que aún necesitamos usar el
`&` antes de la abreviatura `self` para indicar que este método presta la
`&` antes de la abreviatura `self` para indicar que este método toma prestada la
instancia `Self`, al igual que hicimos en `rectangle: &Rectangle`. Los métodos
pueden tomar la propiedad de `self`, prestar `self` inmutablemente, como lo
hemos hecho aquí, o prestar `self` mutably, al igual que pueden hacerlo con
pueden tomar la propiedad de `self`, tomarlo prestado de forma inmutable, como
hemos hecho aquí, o tomarlo prestado de forma mutable, al igual que pueden hacerlo con
cualquier otro parámetro.

Elegimos `&self` aquí por la misma razón que usamos `&Rectangle` en la versión
Expand Down Expand Up @@ -223,8 +223,8 @@ este caso es `Rectangle`.

Para llamar a esa función asociada, usamos la sintaxis `::` con el nombre de
la estructura; `let sq = Rectangle::square(3);` es un ejemplo. Esta función
está en el espacio de nombres de la estructura: la sintaxis `::` se usa tanto
para las funciones asociadas como para los espacios de nombres creados por los
está dentro del namespace de la estructura. La sintaxis `::` se usa tanto
para las funciones asociadas como para los namespaces creados por los
módulos. Discutiremos los módulos en el [Capítulo 7][modules]<!-- ignore -->.

### Bloques `impl` múltiples
Expand Down

0 comments on commit d8748de

Please sign in to comment.