Command-Line Programs
Flag Parsing
A flag is a named switch that changes behavior when it is present.
Flag Parsing
flag_parsing.rb
args =
verbose = args.include?("--verbose")
quiet = args.include?("--quiet")
mode = if quiet
"quiet"
elsif verbose
"verbose"
else
"normal"
end
puts "args=#{args.join(' ')}"
puts "verbose=#{verbose}"
puts "quiet=#{quiet}"
puts "mode=#{mode}"
args =
verbose = args.include?("--verbose")
quiet = args.include?("--quiet")
mode = if quiet
"quiet"
elsif verbose
"verbose"
else
"normal"
end
puts "args=#{args.join(' ')}"
puts "verbose=#{verbose}"
puts "quiet=#{quiet}"
puts "mode=#{mode}"
args =
verbose = args.include?("--verbose")
quiet = args.include?("--quiet")
mode = if quiet
"quiet"
elsif verbose
"verbose"
else
"normal"
end
puts "args=#{args.join(' ')}"
puts "verbose=#{verbose}"
puts "quiet=#{quiet}"
puts "mode=#{mode}"
flag
Small command-line tools often check for boolean flags with `include?`.