mirror of https://github.com/sunface/rust-course
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					26 lines
				
				797 B
			
		
		
			
		
	
	
					26 lines
				
				797 B
			| 
								 
											4 years ago
										 
									 | 
							
								// option2.rs
							 | 
						||
| 
								 | 
							
								// Make me compile! Execute `rustlings hint option2` for hints
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// I AM NOT DONE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								fn main() {
							 | 
						||
| 
								 | 
							
								    let optional_word = Some(String::from("rustlings"));
							 | 
						||
| 
								 | 
							
								    // TODO: Make this an if let statement whose value is "Some" type
							 | 
						||
| 
								 | 
							
								    word = optional_word {
							 | 
						||
| 
								 | 
							
								        println!("The word is: {}", word);
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								        println!("The optional word doesn't contain anything");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    let mut optional_integers_vec: Vec<Option<i8>> = Vec::new();
							 | 
						||
| 
								 | 
							
								    for x in 1..10 {
							 | 
						||
| 
								 | 
							
								        optional_integers_vec.push(Some(x));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // TODO: make this a while let statement - remember that vector.pop also adds another layer of Option<T>
							 | 
						||
| 
								 | 
							
								    // You can stack `Option<T>`'s into while let and if let
							 | 
						||
| 
								 | 
							
								    integer = optional_integers_vec.pop() {
							 | 
						||
| 
								 | 
							
								        println!("current value: {}", integer);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |