mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
optparse.rb: [DOC] fix example code [ci skip]
* lib/optparse.rb: [DOC] fix example code. base on the code by Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
9ef7c87d67
commit
38b756501f
2 changed files with 98 additions and 92 deletions
|
@ -1,3 +1,8 @@
|
|||
Thu Apr 28 16:33:41 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* lib/optparse.rb: [DOC] fix example code. base on the code by
|
||||
Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323]
|
||||
|
||||
Thu Apr 28 09:33:03 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
||||
|
||||
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4.
|
||||
|
|
185
lib/optparse.rb
185
lib/optparse.rb
|
@ -251,7 +251,9 @@
|
|||
#
|
||||
# class ScriptOptions
|
||||
# attr_accessor :library, :inplace, :encoding, :transfer_type,
|
||||
# :verbose
|
||||
# :verbose, :extension, :delay, :time, :record_separator,
|
||||
# :list
|
||||
#
|
||||
# def initialize
|
||||
# self.library = []
|
||||
# self.inplace = false
|
||||
|
@ -259,37 +261,21 @@
|
|||
# self.transfer_type = :auto
|
||||
# self.verbose = false
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# #
|
||||
# # Return a structure describing the options.
|
||||
# #
|
||||
# def self.parse(args)
|
||||
# # The options specified on the command line will be collected in
|
||||
# # *options*.
|
||||
#
|
||||
# @options = ScriptOptions.new
|
||||
# option_parser.parse!(args)
|
||||
# @options
|
||||
# end
|
||||
#
|
||||
# attr_reader :parser, :options
|
||||
#
|
||||
# def option_parser
|
||||
# @parser ||= OptionParser.new do |parser|
|
||||
# def define_options(parser)
|
||||
# parser.banner = "Usage: example.rb [options]"
|
||||
# parser.separator ""
|
||||
# parser.separator "Specific options:"
|
||||
#
|
||||
# # add additional options
|
||||
# perform_inplace_option
|
||||
# delay_execution_option
|
||||
# execute_at_time_option
|
||||
# specify_record_separator_option
|
||||
# list_example_option
|
||||
# specify_encoding_option
|
||||
# optional_option_argument_with_keyword_completion_option
|
||||
# boolean_verbose_option
|
||||
# perform_inplace_option(parser)
|
||||
# delay_execution_option(parser)
|
||||
# execute_at_time_option(parser)
|
||||
# specify_record_separator_option(parser)
|
||||
# list_example_option(parser)
|
||||
# specify_encoding_option(parser)
|
||||
# optional_option_argument_with_keyword_completion_option(parser)
|
||||
# boolean_verbose_option(parser)
|
||||
#
|
||||
# parser.separator ""
|
||||
# parser.separator "Common options:"
|
||||
|
@ -305,80 +291,95 @@
|
|||
# exit
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def perform_inplace_option
|
||||
# # Specifies an optional option argument
|
||||
# parser.on("-i", "--inplace [EXTENSION]",
|
||||
# "Edit ARGV files in place",
|
||||
# " (make backup if EXTENSION supplied)") do |ext|
|
||||
# options.inplace = true
|
||||
# options.extension = ext || ''
|
||||
# options.extension.sub!(/\A\.?(?=.)/, ".") # Ensure extension begins with dot.
|
||||
# def perform_inplace_option(parser)
|
||||
# # Specifies an optional option argument
|
||||
# parser.on("-i", "--inplace [EXTENSION]",
|
||||
# "Edit ARGV files in place",
|
||||
# "(make backup if EXTENSION supplied)") do |ext|
|
||||
# self.inplace = true
|
||||
# self.extension = ext || ''
|
||||
# self.extension.sub!(/\A\.?(?=.)/, ".") # Ensure extension begins with dot.
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def delay_execution_option(parser)
|
||||
# # Cast 'delay' argument to a Float.
|
||||
# parser.on("--delay N", Float, "Delay N seconds before executing") do |n|
|
||||
# self.delay = n
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def execute_at_time_option(parser)
|
||||
# # Cast 'time' argument to a Time object.
|
||||
# parser.on("-t", "--time [TIME]", Time, "Begin execution at given time") do |time|
|
||||
# self.time = time
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def specify_record_separator_option(parser)
|
||||
# # Cast to octal integer.
|
||||
# parser.on("-F", "--irs [OCTAL]", OptionParser::OctalInteger,
|
||||
# "Specify record separator (default \\0)") do |rs|
|
||||
# self.record_separator = rs
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def list_example_option(parser)
|
||||
# # List of arguments.
|
||||
# parser.on("--list x,y,z", Array, "Example 'list' of arguments") do |list|
|
||||
# self.list = list
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def specify_encoding_option(parser)
|
||||
# # Keyword completion. We are specifying a specific set of arguments (CODES
|
||||
# # and CODE_ALIASES - notice the latter is a Hash), and the user may provide
|
||||
# # the shortest unambiguous text.
|
||||
# code_list = (CODE_ALIASES.keys + CODES).join(', ')
|
||||
# parser.on("--code CODE", CODES, CODE_ALIASES, "Select encoding",
|
||||
# "(#{code_list})") do |encoding|
|
||||
# self.encoding = encoding
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def optional_option_argument_with_keyword_completion_option(parser)
|
||||
# # Optional '--type' option argument with keyword completion.
|
||||
# parser.on("--type [TYPE]", [:text, :binary, :auto],
|
||||
# "Select transfer type (text, binary, auto)") do |t|
|
||||
# self.transfer_type = t
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def boolean_verbose_option(parser)
|
||||
# # Boolean switch.
|
||||
# parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
|
||||
# self.verbose = v
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def delay_execution_option
|
||||
# # Cast 'delay' argument to a Float.
|
||||
# parser.on("--delay N", Float, "Delay N seconds before executing") do |n|
|
||||
# options.delay = n
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def execute_at_time_option
|
||||
# # Cast 'time' argument to a Time object.
|
||||
# parser.on("-t", "--time [TIME]", Time, "Begin execution at given time") do |time|
|
||||
# options.time = time
|
||||
# end
|
||||
# end
|
||||
#
|
||||
#
|
||||
# def specify_record_separator_option
|
||||
# # Cast to octal integer.
|
||||
# parser.on("-F", "--irs [OCTAL]", OptionParser::OctalInteger,
|
||||
# "Specify record separator (default \\0)") do |rs|
|
||||
# options.record_separator = rs
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def list_example_option
|
||||
# # List of arguments.
|
||||
# parser.on("--list x,y,z", Array, "Example 'list' of arguments") do |list|
|
||||
# options.list = list
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# def specify_encoding_option
|
||||
# # Keyword completion. We are specifying a specific set of arguments (CODES
|
||||
# # and CODE_ALIASES - notice the latter is a Hash), and the user may provide
|
||||
# # the shortest unambiguous text.
|
||||
# code_list = (CODE_ALIASES.keys + CODES).join(',')
|
||||
# parser.on("--code CODE", CODES, CODE_ALIASES, "Select encoding",
|
||||
# " (#{code_list})") do |encoding|
|
||||
# options.encoding = encoding
|
||||
# end
|
||||
# end
|
||||
#
|
||||
#
|
||||
# def optional_option_argument_with_keyword_completion_option
|
||||
# # Optional '--type' option argument with keyword completion.
|
||||
# parser.on("--type [TYPE]", [:text, :binary, :auto],
|
||||
# "Select transfer type (text, binary, auto)") do |t|
|
||||
# options.transfer_type = t
|
||||
# end
|
||||
# end
|
||||
#
|
||||
#
|
||||
# def boolean_verbose_option
|
||||
# # Boolean switch.
|
||||
# parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
|
||||
# options.verbose = v
|
||||
# #
|
||||
# # Return a structure describing the options.
|
||||
# #
|
||||
# def parse(args)
|
||||
# # The options specified on the command line will be collected in
|
||||
# # *options*.
|
||||
#
|
||||
# @options = ScriptOptions.new
|
||||
# @args = OptionParser.new do |parser|
|
||||
# @options.define_options(parser)
|
||||
# parser.parse!(args)
|
||||
# end
|
||||
# @options
|
||||
# end
|
||||
#
|
||||
# attr_reader :parser, :options
|
||||
# end # class OptparseExample
|
||||
# options = OptparseExample.parse(ARGV)
|
||||
# pp options
|
||||
#
|
||||
# example = OptparseExample.new
|
||||
# options = example.parse(ARGV)
|
||||
# pp options # example.options
|
||||
# pp ARGV
|
||||
#
|
||||
# === Shell Completion
|
||||
|
|
Loading…
Add table
Reference in a new issue