[ruby-list:39017] [ANN] ropt - Easy command-line option parser

From: "Shirai,Kaoru" <shirai@...>
Date: 2004-01-02 03:56:44 UTC
List: ruby-list #39017
白井です。

コマンドラインオプション解析ライブラリ ropt をリリースしました。実装・
使い方共に getopts がベースになっており、簡単に使えます。

RAA - ropt
  http://raa.ruby-lang.org/list.rhtml?name=ropt
README
  http://devel.korinkan.co.jp/ruby-ropt/README.ja.html

----------------------------------------------------------------------------
def usage
  STDERR.puts("\
Usage: #{File.basename($0)} [OPTION]... ARG1 ARG2
Options
  -a                  Short option / Without argument
  -b ARG              Short option / With argument
  -c ARG              Short option / With argument, multiple options allowed.
  --long-a            Long option / Without argument
  --long-b ARG        Long option / With argument
  --long-c ARG        Long option / With argument, multiple options allowed.
")
  exit 1
end

require "ropt"
opt = ROpt.parse(ARGV, "ab:c::", "long-a", "long-b:", "long-c::") || usage

puts("-a specified.") if opt[:a]
puts("-b is #{opt[:b].inspect}") if opt[:b]
puts("-c are #{opt[:c].inspect}") unless opt[:c].empty?

puts("--long-a specified.") if opt['long-a']
puts("--long-b is #{opt['long-b'].inspect}") if opt['long-b']
puts("--long-c are #{opt['long-c'].inspect}") unless opt['long-c'].empty?

puts("Rest arguments: #{opt.args.inspect}") unless opt.args.empty?
----------------------------------------------------------------------------
-- 
Shirai,Kaoru <shirai@korinkan.co.jp>
Korinkan Ltd. - http://www.korinkan.co.jp/

In This Thread

Prev Next