Ich schreibe ein Skript mit verschiedenen Optionen in Ruby, und ich kann nicht verstehen, wie der OptionParser mir helfen könnte.Ruby Beispiel mit Ausrufezeichen
Insbesondere gibt es ein Beispiel in der Dokumentation: https://docs.ruby-lang.org/en/2.1.0/OptionParser.html
require 'optparse'
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: example.rb [options]"
opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
options[:verbose] = v
end
end.parse!
p options
p ARGV
Ich kann das Ausrufezeichen auf der „end.parse“ Linie verstehen (aber ich erwartete einen Parameter danach), aber ich finde Die folgenden 2 Zeilen verwirrend, wurde nicht deklariert, und ich kann nicht verstehen, ob es Teil der Beispielquelle ist.
Und wie verwende ich die '-v' Option? Prüfe ich einfach, ob die Optionen [: v] nil
oder true
sind?
Letzte Sache, was passiert mit den anderen Optionen? Kopiert der OptionParser nur Switches? Was wäre, wenn ich nach dem '-v' noch andere Parameter hätte? Wie myscript -v duck ketchup banana
?
'p' ist [definiert in' Kernel'] (http://ruby-doc.org/core-2.3.1/Kernel.html#method-ip), daher ist es (fast) immer in Ruby verfügbar . 'p obj' ist äquivalent zu' puts obj.inspect'. – GolfWolf