OptionParserってのを使うと簡単らしいです。 # coding: utf-8 require 'optparse' def cmdline args = {} OptionParser.new do |parser| parser.on('-f', '--foo', '真偽値オプション') {|v| args[:foo] = v} parser.on('-b VALUE', '--bar VALUE', '引数付きオプション(必須)') {|v| args[:bar] = v} parser.on('-q [VALUE]', '--quz [VALUE]', '引数付きオプション(任意)') {|v| args[:quz] = v} parser.parse!(ARGV) end args end args = cmdline puts args[:foo] puts args[