summaryrefslogtreecommitdiff
path: root/doc/tutorial/tutorial.rdoc
diff options
context:
space:
mode:
authorBurdette Lamar <BurdetteLamar@Yahoo.com>2021-04-09 08:21:34 -0500
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-04-11 08:52:50 +0900
commitc795f30ef00e5d428b4ffaf95e91d61f4a26a505 (patch)
treed287c0292e4a25859a241e648242be09a9e4c4c7 /doc/tutorial/tutorial.rdoc
parent97abd0f6afeeab287b371e9ccc5dd28a33d13a83 (diff)
[ruby/optparse] Reorganize Ruby example files for sharing (#14)
https://github.com/ruby/optparse/commit/9a2352c1c9
Diffstat (limited to 'doc/tutorial/tutorial.rdoc')
-rw-r--r--doc/tutorial/tutorial.rdoc186
1 files changed, 0 insertions, 186 deletions
diff --git a/doc/tutorial/tutorial.rdoc b/doc/tutorial/tutorial.rdoc
deleted file mode 100644
index 60ead0a6c6..0000000000
--- a/doc/tutorial/tutorial.rdoc
+++ /dev/null
@@ -1,186 +0,0 @@
-== Tutorial
-
-=== Why OptionParser?
-
-When a Ruby program executes, it captures its command-line arguments
-and options into variable ARGV.
-This simple program just prints its \ARGV:
-
- :include: argv.rb
-
-Execution, with arguments and options:
-
- $ ruby argv.rb foo --bar --baz bat bam
- ["foo", "--bar", "--baz", "bat", "bam"]
-
-The executing program is responsible for parsing and handling
-the command-line options.
-
-OptionParser offers methods for parsing and handling those options.
-
-With \OptionParser, you can define options so that for each option:
-
-- The code that defines the option and code that handles that option
- are in the same place.
-- The option may take no argument, a required argument, or an optional argument.
-- The argument may be automatically converted to a specified class.
-- The argument may be restricted to specified _forms_.
-- The argument may be restricted to specified _values_.
-
-The class also has:
-
-- Method #summarize: returns a text summary of the options.
-- Method #help: displays automatically-generated help text.
-
-=== Defining Options
-
-A common way to define an option in \OptionParser
-is with instance method OptionParser#on.
-
-The method may be called with any number of arguments
-(whose order does not matter),
-and may also have a trailing optional keyword argument +into+.
-
-The given arguments determine the characteristics of the new option.
-These may include:
-
-- One or more short option names.
-- One or more long option names.
-- Whether the option takes no argument, an optional argument, or a required argument.
-- Acceptable _forms_ for the argument.
-- Acceptable _values_ for the argument.
-- A proc or method to be called when the parser encounters the option.
-- String descriptions for the option.
-
-=== Option Names
-
-You can give an option one or more names of two types:
-
-- Short (1-character) name, beginning with one hyphen (<tt>-</tt>).
-- Long (multi-character) name, beginning with two hyphens (<tt>--</tt>).
-
-==== Short Option Names
-
-A short option name consists of a hyphen and a single character.
-
-File +short_names.rb+
-defines an option with a short name, <tt>-x</tt>,
-and an option with two short names (aliases, in effect) <tt>-y</tt> and <tt>-z</tt>.
-
- :include: short_names.rb
-
-Executions:
-
- $ ruby short_names.rb -x
- ["x", true]
- $ ruby short_names.rb -1
- ["-1 or -%", true]
- $ ruby short_names.rb -%
- ["-1 or -%", true]
-
-Multiple short names can "share" a hyphen:
-
- $ ruby short_names.rb -x1%
- ["x", true]
- ["-1 or -%", true]
- ["-1 or -%", true]
-
-This is a good time to note that giving an undefined option raises an exception:
-
- $ ruby short_names.rb -z
- short_names.rb:9:in `<main>': invalid option: -z (OptionParser::InvalidOption)
-
-==== Long Option Names
-
-A long option name consists of two hyphens and a one or more characters
-(usually two or more characters).
-
-File +long_names.rb+
-defines an option with a long name, <tt>--xxx</tt>,
-and an option with two long names (aliases, in effect) <tt>--y1%</tt> and <tt>--z2#</tt>.
-
- :include: long_names.rb
-
-Executions:
-
- $ ruby long_names.rb --xxx
- ["-xxx", true]
- $ ruby long_names.rb --y1%
- ["--y1% or --z2#", true]
- $ ruby long_names.rb --z2#
- ["--y1% or --z2#", true]
-
-==== Mixing Option Names
-
-Many developers like to mix short and long option names,
-so that a short name is in effect an abbreviation of a long name.
-
-File +mixed_names.rb+
-defines options that each have both a short and a long name.
-
- :include: mixed_names.rb
-
-Executions:
-
- $ ruby mixed_names.rb -x
- ["--xxx", true]
- $ ruby mixed_names.rb --xxx
- ["--xxx", true]
- $ ruby mixed_names.rb -y
- ["--y1%", true]
- $ ruby mixed_names.rb --y1%
- ["--y1%", true]
-
-=== Option Arguments
-
-An option may take no argument, a required argument, or an optional argument.
-
-==== Option with No Argument
-
-All the examples above define options with no argument.
-
-==== Option with Required Argument
-
-Specify a required argument for an option by adding a dummy word
-to its name definition.
-
-File +required_argument.rb+ defines two options;
-each has a required argument because the name definition has a following dummy word.
-
- :include: required_argument.rb
-
-When an option is found, the given argument is yielded.
-
-Executions:
-
- $ ruby required_argument.rb -x AAA
- ["--xxx", "AAA"]
- $ ruby required_argument.rb -y BBB
- ["--yyy", "BBB"]
-
-Omitting a required argument raises an error:
-
- $ ruby required_argument.rb -x
- required_argument.rb:9:in `<main>': missing argument: -x (OptionParser::MissingArgument)
-
-==== Option with Optional Argument
-
-Specify an optional argument for an option by adding a dummy word
-enclosed in square brackets to its name definition.
-
-File +optional_argument.rb+ defines two options;
-each has an optional argument because the name definition has a following dummy word
-in square brackets.
-
- :include: optional_argument.rb
-
-When an option with an argument is found, the given argument yielded.
-
-Executions:
-
- $ ruby optional_argument.rb -x AAA
- ["--xxx", "AAA"]
- $ ruby optional_argument.rb -y BBB
- ["--yyy", "BBB"]
-
-Omitting an optional argument does not raise an error.