added function and variable lessons.
This commit is contained in:
		
							parent
							
								
									4106843d70
								
							
						
					
					
						commit
						405437686a
					
				
					 6 changed files with 118 additions and 0 deletions
				
			
		
							
								
								
									
										8
									
								
								the_book/branches/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								the_book/branches/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "branches"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
							
								
								
									
										66
									
								
								the_book/branches/src/main.rs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								the_book/branches/src/main.rs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,66 @@
 | 
				
			||||||
 | 
					fn main() {
 | 
				
			||||||
 | 
					    let condition = true;
 | 
				
			||||||
 | 
					    let number = if condition { 5 } else { 6 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if number % 4 == 0 {
 | 
				
			||||||
 | 
					        println!("number is divisible by 4");
 | 
				
			||||||
 | 
					    } else if number % 3 == 0 {
 | 
				
			||||||
 | 
					        println!("number is divisible by 3");
 | 
				
			||||||
 | 
					    } else if number % 2 == 0 {
 | 
				
			||||||
 | 
					        println!("number is divisible by 2");
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        println!("number is not divisible by 4, 3, or 2");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //breaking out of multiple layers.
 | 
				
			||||||
 | 
					    let mut count = 0;
 | 
				
			||||||
 | 
					    'counting_up: loop {
 | 
				
			||||||
 | 
					        println!("count = {}", count);
 | 
				
			||||||
 | 
					        let mut remaining = 10;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        loop {
 | 
				
			||||||
 | 
					            println!("remaining = {}", remaining);
 | 
				
			||||||
 | 
					            if remaining == 9 {
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if count == 2 {
 | 
				
			||||||
 | 
					                break 'counting_up;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            remaining -= 1;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        count += 1;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    println!("End count = {}", count);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //returning loop
 | 
				
			||||||
 | 
					    let mut counter = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let result = loop {
 | 
				
			||||||
 | 
					        counter += 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if counter == 10 {
 | 
				
			||||||
 | 
					            break counter * 2;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    println!("The result is {}", result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //while loop
 | 
				
			||||||
 | 
					    let mut number = 3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    while number != 0 {
 | 
				
			||||||
 | 
					        println!("{}!", number);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        number -= 1;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    println!("LIFTOFF!!!");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //for loop
 | 
				
			||||||
 | 
					    let a = [10, 20, 30, 40, 50];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for element in a {
 | 
				
			||||||
 | 
					        println!("the value is: {}", element);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								the_book/functions/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								the_book/functions/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "functions"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
							
								
								
									
										16
									
								
								the_book/functions/src/main.rs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								the_book/functions/src/main.rs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					fn main() {
 | 
				
			||||||
 | 
					    another_function(5);
 | 
				
			||||||
 | 
					    print_labeled_measurement(50, 'm');
 | 
				
			||||||
 | 
					    println!("The returned value is {}", plus_one(4));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn another_function(x: i32) {
 | 
				
			||||||
 | 
					    println!("The value of x is: {}", x);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					fn print_labeled_measurement(value: i32, unit_label: char) {
 | 
				
			||||||
 | 
					    println!("The measurement is: {}{}", value, unit_label);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					//adds one and returns
 | 
				
			||||||
 | 
					fn plus_one(x:i32) -> i32 {
 | 
				
			||||||
 | 
					    x+1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								the_book/variables/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								the_book/variables/Cargo.toml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					[package]
 | 
				
			||||||
 | 
					name = "variables"
 | 
				
			||||||
 | 
					version = "0.1.0"
 | 
				
			||||||
 | 
					edition = "2021"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[dependencies]
 | 
				
			||||||
							
								
								
									
										12
									
								
								the_book/variables/src/main.rs
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								the_book/variables/src/main.rs
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					fn main() {
 | 
				
			||||||
 | 
					    let x = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let x = x + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        let x = x * 2;
 | 
				
			||||||
 | 
					        println!("The value of x in the inner scope is: {}", x);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    println!("The value of x is: {}", x);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue