init
This commit is contained in:
		
						commit
						921497ab45
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| /target | ||||
							
								
								
									
										5
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| # This file is automatically @generated by Cargo. | ||||
| # It is not intended for manual editing. | ||||
| [[package]] | ||||
| name = "tuto" | ||||
| version = "0.1.0" | ||||
							
								
								
									
										9
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								Cargo.toml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| [package] | ||||
| name = "tuto" | ||||
| version = "0.1.0" | ||||
| authors = ["alban <git@albancrommer.com>"] | ||||
| edition = "2018" | ||||
| 
 | ||||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||
| 
 | ||||
| [dependencies] | ||||
							
								
								
									
										39
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								src/main.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,39 @@ | ||||
| use std::env; | ||||
| 
 | ||||
| #[derive(Debug)] | ||||
| enum Maybe<T> { | ||||
|   Just(T), | ||||
|   Nothing | ||||
| } | ||||
| 
 | ||||
| fn main() { | ||||
|   let arg = env::args().nth(1); | ||||
| 
 | ||||
|   println!("{:?}", Maybe::Just(42)); | ||||
| 
 | ||||
|   match arg { | ||||
|     Some(result) => { | ||||
|       let ip = ip_to_int(&result); | ||||
|       println!("{:b}", ip); | ||||
|     }, | ||||
|     None => println!("need one arg") | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| fn ip_to_int(ip_str: &str) -> u32 { | ||||
|     let mut tbl : Vec<&str> = ip_str.split(".") | ||||
|       .collect(); | ||||
|     tbl.reverse(); | ||||
| 
 | ||||
|     let mut ip = 0_u32; | ||||
| 
 | ||||
|   for (idx, s) in tbl.iter().enumerate() { | ||||
|     let nbr : u8 = s.parse() | ||||
|       .expect("parse fail"); | ||||
|     ip += (nbr as u32) << 8*idx; | ||||
|   } | ||||
|   ip | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user