require 'optparse' params = {} opt = OptionParser.new opt.on('-a') {|v| params[:a] = v } opt.on('-b') {|v| params[:b] = v } opt.on('-c file_name') {|v| params[:c] = v } opt.parse!(ARGV) p params % ./very_boring_and_waste_of_time_option_parsing.rb -a -c /tmp/file {:a=>true, :c=>"/tmp/file"} % ./very_boring_and_waste_of_time_option_parsing.rb -h Usage: very_boring_and_waste_of_time_option_parsing [o