Skip to content

Commit a05df7b

Browse files
committed
initial commit
0 parents  commit a05df7b

File tree

6 files changed

+124
-0
lines changed

6 files changed

+124
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

Cargo.lock

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "control_flows"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]

src/if_let_while_let.rs

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
pub fn if_let_while_let() {
3+
4+
let edad: Option<i32> = Some(23);
5+
6+
// match
7+
match edad {
8+
Some(value) => println!("Edad: {} ", value),
9+
_ => ()
10+
}
11+
12+
// if let
13+
if let Some(value) = edad {
14+
println!("Edad: {}", value);
15+
}
16+
17+
// while let
18+
19+
let mut mss = Some(10);
20+
21+
loop {
22+
match mss {
23+
Some(value) => {
24+
if value > 0 {
25+
println!("Mensaje sin leer");
26+
mss = Some(value - 1);
27+
} else{
28+
println!("No hay mensajes");
29+
mss = None;
30+
}
31+
},
32+
_ => { break; }
33+
};
34+
}
35+
36+
while let Some(value) = mss {
37+
if value > 0 {
38+
println!("Mensaje sin leer");
39+
mss = Some(value - 1);
40+
} else{
41+
println!("No hay mensajes");
42+
mss = None;
43+
}
44+
}
45+
46+
47+
}

src/if_while_loops.rs

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
2+
3+
pub fn if_while_loops() {
4+
5+
// Flujos de control
6+
if true {
7+
println!("True");
8+
} else if false {
9+
println!("False");
10+
} else {
11+
println!("Nada");
12+
}
13+
14+
let result = if 1 > 2 { 10 } else { 5 };
15+
println!("result {}", result);
16+
17+
18+
// Loops
19+
let mut number = 0;
20+
let rest = loop {
21+
println!("Loop");
22+
23+
number += 1;
24+
25+
if number == 10 {
26+
break number
27+
}
28+
};
29+
30+
println!("loop return {}", rest);
31+
32+
33+
// While
34+
while number > 0 {
35+
println!("While");
36+
number -= 1;
37+
}
38+
39+
40+
// For
41+
for item in [1, 2, 3].iter() {
42+
println!("Array {}", item);
43+
}
44+
45+
for item in 0..5 {
46+
println!("Array {}", item);
47+
}
48+
49+
50+
}

src/main.rs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
mod if_while_loops;
2+
mod if_let_while_let;
3+
4+
fn main() {
5+
6+
// Flujos de control
7+
if_while_loops::if_while_loops();
8+
9+
10+
if_let_while_let::if_let_while_let();
11+
}

0 commit comments

Comments
 (0)