[前][次][番号順一覧][スレッド一覧]

ruby-changes:42734

From: nobu <ko1@a...>
Date: Thu, 28 Apr 2016 15:37:05 +0900 (JST)
Subject: [ruby-changes:42734] nobu:r54808 (trunk): optparse.rb: [DOC] fix example code [ci skip]

nobu	2016-04-28 16:33:43 +0900 (Thu, 28 Apr 2016)

  New Revision: 54808

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=54808

  Log:
    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]

  Modified files:
    trunk/ChangeLog
    trunk/lib/optparse.rb
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 54807)
+++ ChangeLog	(revision 54808)
@@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Thu Apr 28 16:33:41 2016  Nobuyoshi Nakada  <nobu@r...>
+
+	* 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@r...>
 
 	* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4.
Index: lib/optparse.rb
===================================================================
--- lib/optparse.rb	(revision 54807)
+++ lib/optparse.rb	(revision 54808)
@@ -251,7 +251,9 @@ https://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L251
 #
 #     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 @@ https://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L261
 #         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 @@ https://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L291
 #           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
-#     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
+#       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
-#     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
+#       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
-#     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
+#       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
-#     end
 #
-#     def list_example_option
-#       # List of arguments.
-#       parser.on("--list x,y,z", Array, "Example 'list' of arguments") do |list|
-#         options.list = list
+#       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
-#     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
+#       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
-#     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 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
+#       def boolean_verbose_option(parser)
+#         # Boolean switch.
+#         parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
+#           self.verbose = v
+#         end
 #       end
 #     end
 #
+#     #
+#     # Return a structure describing the options.
+#     #
+#     def parse(args)
+#       # The options specified on the command line will be collected in
+#       # *options*.
 #
-#     def boolean_verbose_option
-#       # Boolean switch.
-#       parser.on("-v", "--[no-]verbose", "Run verbosely") do |v|
-#         options.verbose = v
+#       @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

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]