Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

slopでCLIアプリの引数をよろしくやる

slopでCLIアプリの引数をよろしくやるgemです。

require 'slop'

opts = Slop.parse do |o|
  o.banner = "usage: connect [options] ..."
  o.string  '-h', '--host', default: "localhost"
  o.integer '-p', '--port', default: 80

  o.on '--version', '-v' do
    puts "v0.0.1"
    exit
  end
end

if ARGV == []
  puts opts
  exit
else
  p ARGV
  puts opts[:host].to_s + ':' +  opts[:port].to_s
end

実運用

$ ruby slop.rb --host '192.11.11.11' -p 99
["--host", "192.11.11.11", "-p", "99"]
192.11.11.11:99

なんもオプションを入れないと、usageみたいな文を表示する事ができます。

$ ruby slop.rb
usage: connect [options] ...
    -h, --host     
    -p, --port     
    --version, -v