Trollop tratta di opzioni di parsing - cose che possono o non possono essere presenti.
Un argomento posizionale richiesto non è un'opzione. Per accedere ai tuoi argomenti posizionali, basta guardare argv. Se usi una combinazione di opzioni e argomenti posizionali richiesti, trollop si prenderà cura di rimuovere le cose facoltative e lascerà ARGV in uno stato in cui contiene solo le cose che ti interessano.
Se si esegue questo codice di esempio:
#!/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}"
Ecco che cosa otterrete:
[~/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"]
Notate come ARGV è lo stesso nell'esempio 2 e l'esempio 3.
fonte
2013-12-10 17:16:19
hai scoperto come utilizzare argomento posizionale con sgualdrina? – dusan
@dusan Senza fortuna. – Dean