40 lines
		
	
	
		
			995 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			995 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| fn main(args: Array<String>)
 | |
|     if args[0] == 'greet' then
 | |
|         println 'Hello!'
 | |
|     end
 | |
| end
 | |
| 
 | |
| fn main(args: Array<String>)
 | |
|     args.each { println it }
 | |
| end
 | |
| 
 | |
| fn main(args: Array<String>)
 | |
|     if args.find { it == 'greet' } then
 | |
|         println 'There was a greet arg'
 | |
|     end
 | |
| end
 | |
| 
 | |
| // longer
 | |
| fn main(args: Array<String>)
 | |
|     let findIndexResult: Option<Int> = args.findIndex { it == 'greet' }
 | |
|     if findIndexResult.isSome() then
 | |
|         let index: Int = findIndex.unwrap()
 | |
|         println "greet arg was index ${index}"
 | |
|     end
 | |
| end
 | |
| 
 | |
| // shorter with destructuring
 | |
| fn main(args: Array<String>)
 | |
|     if let Some(greetIndex) = args.findIndex { it == 'greet' } then
 | |
|         println "greet arg was index ${greetIndex}"
 | |
|     end
 | |
| end
 | |
| 
 | |
| fn main(args: Array<String>)
 | |
|     let parsed: CliArgs = std::cli::parse(args)
 | |
|     let greetingCount = parsed.get::<Int>('--count', '-c').orElse(1)
 | |
|     if let Some(greeting) = parsed.get('greeting', 'g') then
 | |
|         greetingCount.times { println greeting }
 | |
|     end
 | |
| end
 | 
