struct en multiples archivos
This commit is contained in:
@@ -27,3 +27,4 @@
|
|||||||
- https://tinchicus.com/2022/07/06/rust-punto-y-coma/ (ejemplo02)
|
- https://tinchicus.com/2022/07/06/rust-punto-y-coma/ (ejemplo02)
|
||||||
- https://tinchicus.com/2022/07/12/rust-memoria-estatica/ (ejemplo03)
|
- https://tinchicus.com/2022/07/12/rust-memoria-estatica/ (ejemplo03)
|
||||||
- https://tinchicus.com/2022/07/13/rust-struct/ (estructura)
|
- https://tinchicus.com/2022/07/13/rust-struct/ (estructura)
|
||||||
|
- https://tinchicus.com/2022/07/14/rust-struct-en-multiples-archivos/ (estructura2)
|
||||||
|
|||||||
8
estructura2/Cargo.toml
Normal file
8
estructura2/Cargo.toml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
name = "estructura2"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
47
estructura2/src/main.rs
Normal file
47
estructura2/src/main.rs
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
mod persona;
|
||||||
|
use persona::*;
|
||||||
|
fn main() {
|
||||||
|
let usuario = Persona {
|
||||||
|
nombre: String::from("Martin"),
|
||||||
|
apellido: String::from("Miranda"),
|
||||||
|
edad: 45,
|
||||||
|
area: Area {
|
||||||
|
oficina: String::from("IT"),
|
||||||
|
puesto: String::from("Desarrollador"),
|
||||||
|
},
|
||||||
|
nomina: Nomina {
|
||||||
|
bruto: 100000,
|
||||||
|
neto: 50000,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("Nombre: {}", usuario.nombre);
|
||||||
|
println!("Apellido: {}", usuario.apellido);
|
||||||
|
println!("Edad: {}", usuario.edad);
|
||||||
|
println!("Oficina: {}", usuario.area.oficina);
|
||||||
|
println!("Puesto: {}", usuario.area.puesto);
|
||||||
|
println!("Bruto: {}", usuario.nomina.bruto);
|
||||||
|
println!("Neto: {}", usuario.nomina.neto);
|
||||||
|
|
||||||
|
let usuario2 = Persona {
|
||||||
|
nombre: String::from("Enzo"),
|
||||||
|
apellido: String::from("Tortore"),
|
||||||
|
edad: 33,
|
||||||
|
area: Area {
|
||||||
|
oficina: String::from("DB"),
|
||||||
|
puesto: String::from("Administrador"),
|
||||||
|
},
|
||||||
|
nomina: Nomina {
|
||||||
|
bruto: usuario.nomina.bruto,
|
||||||
|
neto: usuario.nomina.neto,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("Nombre: {}", usuario2.nombre);
|
||||||
|
println!("Apellido: {}", usuario2.apellido);
|
||||||
|
println!("Edad: {}", usuario2.edad);
|
||||||
|
println!("Oficina: {}", usuario2.area.oficina);
|
||||||
|
println!("Puesto: {}", usuario2.area.puesto);
|
||||||
|
println!("Bruto: {}", usuario2.nomina.bruto);
|
||||||
|
println!("Neto: {}", usuario2.nomina.neto);
|
||||||
|
}
|
||||||
4
estructura2/src/persona/area.rs
Normal file
4
estructura2/src/persona/area.rs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
pub struct Area {
|
||||||
|
pub oficina: String,
|
||||||
|
pub puesto: String,
|
||||||
|
}
|
||||||
12
estructura2/src/persona/mod.rs
Normal file
12
estructura2/src/persona/mod.rs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
pub mod area;
|
||||||
|
pub use area::*;
|
||||||
|
pub mod nomina;
|
||||||
|
pub use nomina::*;
|
||||||
|
|
||||||
|
pub struct Persona {
|
||||||
|
pub nombre: String,
|
||||||
|
pub edad: i32,
|
||||||
|
pub apellido: String,
|
||||||
|
pub area: Area,
|
||||||
|
pub nomina: Nomina,
|
||||||
|
}
|
||||||
4
estructura2/src/persona/nomina.rs
Normal file
4
estructura2/src/persona/nomina.rs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
pub struct Nomina {
|
||||||
|
pub bruto: i32,
|
||||||
|
pub neto: i32,
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user