Ruby + Option parser

ruby

Solution

# Mandatory argument.
  opts.on("-r", "--require LIBRARY",
          "Require the LIBRARY before executing your script") do |lib|
    options.library << lib
  end

I found that by your first link. Pay attention on "--require LIBRARY".

Problem

I am learning option parsing in ruby by referring this and this. This is my test code: ``` #!/usr/bin/ruby require "optparse" options = {} optparse = OptionParser.new do |opts| opts.banner = "Learning Option parsing in Ruby" opts.on("-i", "--ipaddress", "IP address of the server") do |ipaddr| options[:ipaddress] = ipaddr end opts.on("-u", "--username", "username to log in") do |user| options[:username] = user end opts.on("-p", "--password", "password of the user") do |pass| options[:password] = pass end end optparse.parse! puts "the IPaddress is #{options[:ipaddress]}" if options[:ipaddress] puts "the username is #{options[:username]}" if options[:username] puts "the password is #{options[:password]}" if options[:password] ``` My intention is to print the opton that I am passing to the script. However, it doens't print the option that I pass, instead just says `true`: ``` # ruby getops.rb --ipaddress 1.1.1.1 the IPaddress is true # ruby getops.rb --username user1 the username is true # ruby getops.rb --password secret the password is true ``` Where am I going wrong? I tried with the short options as well , but the result is same.

Original source