Trollop dotyczy opcji analizowania - rzeczy, które mogą ale nie muszą być obecne.
Wymagany argument pozycyjny nie jest opcją. Aby uzyskać dostęp do argumentów pozycyjnych, po prostu spójrz na argv. Jeśli użyjesz kombinacji opcji i wymaganych argumentów pozycyjnych, trollop zajmie się usunięciem opcjonalnych rzeczy i pozostawienie ARGV w stanie, w którym zawiera tylko te, na których Ci zależy.
Jeśli uruchomić ten przykładowy kod:
#!/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}"
Oto co dostaniesz:
[~/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"]
zauważyć jak ARGV jest taka sama w przykładzie 2 i przykładzie 3.
Czy dowiedzieć się, jak korzystać z argumentu pozycyjnym Trollop? – dusan
@dusan Bez powodzenia. – Dean