オプションの引数をダッシュ (-) で開始できるようにする最善の方法は何でしょうか。「+42」または「-123」である数値形式の引数をサブコマンドで受け入れる必要があります。したがって、コマンドラインから次のことができます。
gliapp show -123
gli は -123 を未知のスイッチと見なすため、これは現在エラーにつながります。私は1つができることを知っています
gliapp show -- -123
しかし、ユーザーにこの問題を回避してほしくありません。ARGV を gli run に渡す前に、-123 を自分で処理する必要がありますか?
最小限の例を次に示します。
#!/usr/bin/env ruby
require 'gli'
include GLI::App
subcommand_option_handling :normal
arguments :strict
desc 'p given arg which may start with a dash (-)'
arg "number", :optional;
command :show do |c|
c.action do |global_opts,opts,args|
p args.first
end
end
exit run(ARGV)