私は、コマンドライン引数を解析するために娼婦を使用している、と私はfilename1
、以下filename2
のようないくつかの必要な位置引数を追加したい:trollopで正の引数をどうやって作るのですか?
usage: my_script [--help] [--some-option VALUE] [--some-flag] filename1 filename2
私は娼婦でこれを行うにはどうすればよいですか?
私は、コマンドライン引数を解析するために娼婦を使用している、と私はfilename1
、以下filename2
のようないくつかの必要な位置引数を追加したい:trollopで正の引数をどうやって作るのですか?
usage: my_script [--help] [--some-option VALUE] [--some-flag] filename1 filename2
私は娼婦でこれを行うにはどうすればよいですか?
Trollopは、解析オプションに関するもので、存在する場合もありません。
必須の位置引数はオプションではありません。あなたの定位置の引数にアクセスするには、argvを見てください。オプションと必要な定位置引数を組み合わせて使用する場合、trollopはオプションのものを取り除き、気になるものだけが入っている状態にARGVを残します。
あなたは、このサンプルコードを実行する場合:ここで
#!/usr/bin/env ruby
require 'trollop'
opts = Trollop::options do
opt :monkey, "Use monkey mode" # flag --monkey, default false
opt :name, "Monkey name", :type => :string # string --name <s>, default nil
opt :num_limbs, "Number of limbs", :default => 4 # integer --num-limbs <i>, default to 4
end
puts "opts: #{opts}"
puts "ARGV: #{ARGV}"
は、あなたが得るものです:
[~/tbear/bin]$ ./t.rb
opts: {:monkey=>false, :name=>nil, :num_limbs=>4, :help=>false}
ARGV: []
[~/tbear/bin]$ ./t.rb arg1
opts: {:monkey=>false, :name=>nil, :num_limbs=>4, :help=>false}
ARGV: ["arg1"]
[~/tbear/bin]$ ./t.rb -m arg1
opts: {:monkey=>true, :name=>nil, :num_limbs=>4, :help=>false, :monkey_given=>true}
ARGV: ["arg1"]
はARGVは、例2と同じ方法をお知らせして実施例3
娼妓leftovers
という属性もあります。その値はprovides the same informationです。ここでは、あなたがそれを使用したい方法は次のとおりです。
#!/usr/bin/env ruby
require 'trollop'
require 'pp'
p = Trollop::Parser.new do
opt :monkey, 'Use monkey mode' # flag --monkey, default false
opt :name, 'Monkey name', :type => :string # string --name <s>, default nil
opt :num_limbs, 'Number of limbs', :default => 4 # integer --num-limbs <i>, default to 4
end
p.parse
puts 'Leftovers:'
pp p.leftovers
puts 'ARGV:'
pp ARGV
ここでの結果です:
> ruby se_01.rb foo blarb -m
Leftovers:
["foo", "blarb"]
ARGV:
["foo", "blarb"]
は娼婦との位置引数を使用する方法をお知りましたか? – dusan
@dusanいいえ、運がいいです。 – Dean