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
 |