Простое объяснение этого примера из Ruby - PullRequest
0 голосов
/ 04 октября 2018
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

Я нашел это на странице документации optparse здесь .Может кто-нибудь объяснить этот пример с точки зрения непрофессионала?Я прочитал документацию, но есть некоторые части, которые я не понимаю.А именно, end.parse! и разница между методами parse и permute.

1 Ответ

0 голосов
/ 04 октября 2018

end.parse! - это не волшебная разновидность end, если вы об этом думаете.Это можно записать так:

option_parser = OptionParser.new do |opts|
  opts.banner = "Usage: example.rb [options]"

  opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
    options[:verbose] = v
  end
end

option_parser.parse!
...