summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--es-es/rust-es.html.markdown99
1 files changed, 54 insertions, 45 deletions
diff --git a/es-es/rust-es.html.markdown b/es-es/rust-es.html.markdown
index 43e388e5..0628a37d 100644
--- a/es-es/rust-es.html.markdown
+++ b/es-es/rust-es.html.markdown
@@ -6,26 +6,28 @@ filename: learnrust-es.rs
lang: es-es
---
-Rust es un lenguaje de programación desarrollado por Mozzilla Research.
-Rust combina el control del rendimiento a bajo nivel con la comodidad del alto nivel y
-garantías de seguridad.
+Rust es un lenguaje de programación desarrollado por Mozzilla Research. Rust
+combina el control del rendimiento a bajo nivel con la comodidad del alto nivel
+y garantías de seguridad.
-Consigue cumplir estos objetivos sin necesidad de un recolector de basura o runtime, haciendo
-posible usar las librerías de Rust como sustituto de C.
+Consigue cumplir estos objetivos sin necesidad de un recolector de basura o
+runtime, haciendo posible usar las librerías de Rust como sustituto de C.
-La primera versión de Rust, la 0.1, fue lanzada en enero de 2012, y durante 3 años el desarrollo
-fue tan rápido que hasta hace poco el uso de las versiones estables no era recomendable, y se
-aconsejaba usar las compilaciones nocturnas.
+La primera versión de Rust, la 0.1, fue lanzada en enero de 2012, y durante 3
+años el desarrollo fue tan rápido que hasta hace poco el uso de las versiones
+estables no era recomendable, y se aconsejaba usar las compilaciones nocturnas.
-El 15 de mayo de 2015 se lanzó Rust 1.0, con una garantía completa de retrocompatibilidad.
-A día de hoy los tiempos de compilación han mejorado mucho desde ese lanzamiento, así como
-otros aspectos del lenguaje y el compilador. Rust ha adoptado un modelo de desarrollo por series
-de publicaciones periódicas, con lanzamientos cada 6 semanas. Junto con cada lanzamiento, se lanza
-la beta de la siguiente versión.
+El 15 de mayo de 2015 se lanzó Rust 1.0, con una garantía completa de
+retrocompatibilidad. A día de hoy los tiempos de compilación han mejorado mucho
+desde ese lanzamiento, así como otros aspectos del lenguaje y el compilador.
+Rust ha adoptado un modelo de desarrollo por series de publicaciones periódicas,
+con lanzamientos cada 6 semanas. Junto con cada lanzamiento, se lanza la beta de
+la siguiente versión.
-A pesar de que Rust es un lenguaje relativamente de bajo nivel, tiene conceptos funcionales
-que generalmente se encuentran en lenguajes de más alto nivel. Esto hace que Rust sea rápido
-y al mismo tiempo fácil y eficiente a la hora de programar.
+A pesar de que Rust es un lenguaje relativamente de bajo nivel, tiene conceptos
+funcionales que generalmente se encuentran en lenguajes de más alto nivel. Esto
+hace que Rust sea rápido y al mismo tiempo fácil y eficiente a la hora de
+programar.
```rust
// Esto es un comentario. Los comentarios de una sola línea se hacen así...
@@ -54,11 +56,11 @@ fn main() {
let f: f64 = 1.3f64;
// Inferencia de tipos
- // La mayor parte del tiempo, el compilador de Rust puede inferir el tipo de una variable, por
- // lo que no necesitas escribir una anotación de tipo explícita.
- // A lo largo de este tutorial, los tipos están anotados explícitamente en varios sitios,
- // pero solo con propósito demostrativo. La inferencia de tipos puede manejar esto por
- // ti la mayor parte del tiempo.
+ // La mayor parte del tiempo, el compilador de Rust puede inferir el tipo de
+ // una variable, por lo que no necesitas escribir una anotación de tipo
+ // explícita. A lo largo de este tutorial, los tipos están anotados
+ // explícitamente en varios sitios, pero solo con propósito demostrativo. La
+ // inferencia de tipos puede manejar esto por ti la mayor parte del tiempo.
let x_implicita = 1;
let f_implicita = 1.3;
@@ -260,21 +262,25 @@ fn main() {
// 5. Seguridad de memoria y punteros //
////////////////////////////////////////
- // Posesión de punteros – solo una cosa puede ‘poseer’ este puntero en cada momento
- // Esto significa que cuando la `Box` queda fuera del ámbito, puede ser liberada
- // automáticamente de manera segura.
+ // Posesión de punteros – solo uno puede ‘poseer’ un puntero en cada momento
+ // Esto significa que cuando la `Box` queda fuera del ámbito, puede ser
+ // liberada automáticamente de manera segura.
let mut mio: Box<i32> = Box::new(3);
*mio = 5; // dereferenciar
- // Aquí, `ahora_es_mio`, toma posesión de `mio`. En otras palabras, `mio` se mueve.
+ // Aquí, `ahora_es_mio`, toma posesión de `mio`. En otras palabras, `mio` se
+ // mueve.
let mut ahora_es_mio = mio;
*ahora_es_mio += 2;
println!("{}", ahora_es_mio); // 7
- // println!("{}", mio); // esto no compilaría, porque `now_its_mine` es el que posee el puntero
+ // println!("{}", mio); // esto no compilaría, porque `now_its_mine` es el
+ // que posee el puntero
// Referencia – un puntero inmutable que referencia a otro dato
- // Cuando se crea una referencia a un valor, decimos que el valor ha sido ‘tomado prestado’.
- // Mientras un valor está prestado como inmutable, no puede ser modificado o movido.
+ // Cuando se crea una referencia a un valor, decimos que el valor ha sido
+ // ‘tomado prestado’.
+ // Mientras un valor está prestado como inmutable, no puede ser modificado o
+ // movido.
// Una prestación dura hasta el fin del ámbito en el que se creó.
let mut var = 4;
var = 3;
@@ -283,31 +289,34 @@ fn main() {
println!("{}", var); // A diferencia de `mio`, `var` se puede seguir usando
println!("{}", *ref_var);
// var = 5; // esto no compilaría, porque `var` está prestada
- // *ref_var = 6; // esto tampoco, porque `ref_var` es una referencia inmutable
+ // *ref_var = 6; // esto tampoco, porque `ref_var` es una referencia
+ // inmutable
// Referencia mutable
- // Mientras que un valor está prestado como mutable, no puede ser accedido desde ningún
- // otro sitio.
+ // Mientras que un valor está prestado como mutable, no puede ser accedido
+ // desde ningún otro sitio.
let mut var2 = 4;
let ref_var2: &mut i32 = &mut var2;
- *ref_var2 += 2; // '*' se usa para apuntar al var2 prestado como mutable
+ *ref_var2 += 2; // '*' se usa para apuntar al var2 prestado como mutable
- println!("{}", *ref_var2); // 6 , //var2 no compilaría. //ref_var2 es de tipo &mut i32, por
- //lo que guarda una referencia a un i32 no el valor.
+ println!("{}", *ref_var2); // 6 , //var2 no compilaría. //ref_var2 es de
+ // tipo &mut i32, por lo que guarda una
+ // referencia a un i32 no el valor.
// var2 = 2; // esto no compilaría porque `var2` está prestado
}
```
## Lectura adicional
-Rust es mucho más que esto. Esto es solo lo más básico para que puedas entender las
-cosas más importantes. Para aprender más sobre Rust, lee [The Rust Programming
-Language](http://doc.rust-lang.org/book/index.html) y echa un vistazo al subreddit
-[/r/rust](http://reddit.com/r/rust). Los compañeros en el canal #rust en irc.mozilla.org
-también son muy buenos con los recien llegados. También puedes acceder a [Rust
-users](https://users.rust-lang.org/) a pedir ayuda o a [Rust
-internals](https://internals.rust-lang.org/) para aprender más sobre el lenguaje y
-colaborar en su desarrollo.
-
-También puedes probar Rust con un compilador online en el oficial
-[Rust playpen](http://play.rust-lang.org) o en la [web principal de Rust](http://rust-lang.org).
+Rust es mucho más que esto. Esto es solo lo más básico para que puedas entender
+las cosas más importantes. Para aprender más sobre Rust, lee [The Rust
+Programming Language](http://doc.rust-lang.org/book/index.html) y echa un
+vistazo al subreddit [/r/rust](http://reddit.com/r/rust). Los compañeros en el
+canal #rust en irc.mozilla.org también son muy buenos con los recien llegados.
+También puedes acceder a [Rust users](https://users.rust-lang.org/) a pedir
+ayuda o a [Rust internals](https://internals.rust-lang.org/) para aprender más
+sobre el lenguaje y colaborar en su desarrollo.
+
+También puedes probar Rust con un compilador online en el oficial [Rust
+playpen](http://play.rust-lang.org) o en la [web principal de
+Rust](http://rust-lang.org).