diff --git a/README.md b/README.md index fbcd133..1015a55 100644 --- a/README.md +++ b/README.md @@ -32,3 +32,4 @@ - https://tinchicus.com/2022/07/18/rust-enum/ (enums) - https://tinchicus.com/2022/07/19/rust-patrones-y-coincidencias/ (iflet) - https://tinchicus.com/2022/07/20/rust-ownership/ (prop) +- https://tinchicus.com/2022/07/21/rust-copy-trait/ (copiari32, copiar) diff --git a/copiar/Cargo.toml b/copiar/Cargo.toml new file mode 100644 index 0000000..804619b --- /dev/null +++ b/copiar/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "copiar" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/copiar/src/main.rs b/copiar/src/main.rs new file mode 100644 index 0000000..ea171d5 --- /dev/null +++ b/copiar/src/main.rs @@ -0,0 +1,12 @@ +fn sumar(v1: Vec, v2: Vec) -> (Vec, Vec, i32) { + let sum = v1.iter().fold(0i32, |a, &b| a + b); + let prod = v2.iter().fold(1i32, |a, &b| a * b); + return (v1, v2, sum + prod); +} + +fn main() { + let vecuno = vec![2, 3, 5]; + let vecdos = vec![3, 5]; + let (vecuno, vecdos, rta) = sumar(vecuno, vecdos); + println!("{} + {} = {}", vecuno[0], vecdos[0], rta); +} diff --git a/copiari32/Cargo.toml b/copiari32/Cargo.toml new file mode 100644 index 0000000..7335343 --- /dev/null +++ b/copiari32/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "copiari32" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/copiari32/src/main.rs b/copiari32/src/main.rs new file mode 100644 index 0000000..635fa28 --- /dev/null +++ b/copiari32/src/main.rs @@ -0,0 +1,9 @@ +fn incrementar(n: i32) -> i32 { + n + 32 +} + +fn main() { + let num = 10i32; + let num2 = incrementar(num); + println!("num: {}, num2: {}", num, num2); +}