mirror of
https://github.com/ruby/ruby.git
synced 2026-07-31 09:25:15 +08:00
- doc/language/options.md: preceeding -> preceding - doc/maintainers.md: maintanance -> maintenance - doc/syntax/layout.rdoc: enconding -> encoding (File.read keyword in the line-continuation example) - doc/distribution/windows.md: followings are -> the following are
745 lines
19 KiB
Markdown
745 lines
19 KiB
Markdown
# Ruby Command-Line Options
|
|
|
|
## About the Examples
|
|
|
|
Some examples here use command-line option `-e`,
|
|
which passes the Ruby code to be executed on the command line itself:
|
|
|
|
```console
|
|
$ ruby -e 'puts "Hello, World."'
|
|
```
|
|
|
|
Some examples here assume that file `desiderata.txt` exists:
|
|
|
|
```console
|
|
$ cat desiderata.txt
|
|
Go placidly amid the noise and the haste,
|
|
and remember what peace there may be in silence.
|
|
As far as possible, without surrender,
|
|
be on good terms with all persons.
|
|
```
|
|
|
|
## Options
|
|
|
|
### `-0`: Set `$/` (Input Record Separator)
|
|
|
|
Option `-0` defines the input record separator `$/`
|
|
for the invoked Ruby program.
|
|
|
|
The optional argument to the option must be octal digits,
|
|
each in the range `0..7`;
|
|
these digits are prefixed with digit `0` to form an octal value.
|
|
|
|
If no argument is given, the input record separator is `0x00`.
|
|
|
|
If an argument is given, it must immediately follow the option
|
|
(no intervening whitespace or equal-sign character `'='`);
|
|
argument values:
|
|
|
|
- `0`: the input record separator is `''`;
|
|
see {Special Line Separator Values}[rdoc-ref:IO@Special+Line+Separator+Values].
|
|
- In range `(1..0377)`:
|
|
the input record separator `$/` is set to the character value of the argument.
|
|
- Any other octal value: the input record separator is `nil`.
|
|
|
|
Examples:
|
|
|
|
```console
|
|
$ ruby -0 -e 'p $/'
|
|
"\x00"
|
|
ruby -00 -e 'p $/'
|
|
""
|
|
$ ruby -012 -e 'p $/'
|
|
"\n"
|
|
$ ruby -015 -e 'p $/'
|
|
"\r"
|
|
$ ruby -0377 -e 'p $/'
|
|
"\xFF"
|
|
$ ruby -0400 -e 'p $/'
|
|
nil
|
|
```
|
|
|
|
See also:
|
|
|
|
- [Option `-a`][-a]:
|
|
Split input lines into fields.
|
|
- [Option `-F`][-F]:
|
|
Set input field separator.
|
|
- [Option `-l`][-l]:
|
|
Set output record separator; chop lines.
|
|
- [Option `-n`][-n]:
|
|
Run program in `gets` loop.
|
|
- [Option `-p`][-p]:
|
|
`-n`, with printing.
|
|
|
|
### `-a`: Split Input Lines into Fields
|
|
|
|
Option `-a`, when given with either of options `-n` or `-p`,
|
|
splits the string at `$_` into an array of strings at `$F`:
|
|
|
|
```console
|
|
$ ruby -an -e 'p $F' desiderata.txt
|
|
["Go", "placidly", "amid", "the", "noise", "and", "the", "haste,"]
|
|
["and", "remember", "what", "peace", "there", "may", "be", "in", "silence."]
|
|
["As", "far", "as", "possible,", "without", "surrender,"]
|
|
["be", "on", "good", "terms", "with", "all", "persons."]
|
|
```
|
|
|
|
For the splitting,
|
|
the default record separator is `$/`,
|
|
and the default field separator is `$;`.
|
|
|
|
See also:
|
|
|
|
- [Option `-0`][-0]:
|
|
Set `$/` (input record separator).
|
|
- [Option `-F`][-F]:
|
|
Set input field separator.
|
|
- [Option `-l`][-l]:
|
|
Set output record separator; chop lines.
|
|
- [Option `-n`][-n]:
|
|
Run program in `gets` loop.
|
|
- [Option `-p`][-p]:
|
|
`-n`, with printing.
|
|
|
|
### `-c`: Check Syntax
|
|
|
|
Option `-c` specifies that the specified Ruby program
|
|
should be checked for syntax, but not actually executed:
|
|
|
|
```console
|
|
$ ruby -e 'puts "Foo"'
|
|
Foo
|
|
$ ruby -c -e 'puts "Foo"'
|
|
Syntax OK
|
|
```
|
|
|
|
### `-C`: Set Working Directory
|
|
|
|
The argument to option `-C` specifies a working directory
|
|
for the invoked Ruby program;
|
|
does not change the working directory for the current process:
|
|
|
|
```console
|
|
$ basename `pwd`
|
|
ruby
|
|
$ ruby -C lib -e 'puts File.basename(Dir.pwd)'
|
|
lib
|
|
$ basename `pwd`
|
|
ruby
|
|
```
|
|
|
|
This option is accumulative; relative paths are solved from the
|
|
previous working directory.
|
|
|
|
```console
|
|
$ ruby -C / -C usr -e 'puts Dir.pwd'
|
|
/usr
|
|
```
|
|
|
|
If the argument is not an existing directory, a fatal error will
|
|
occur:
|
|
|
|
```console
|
|
$ ruby -C /nonexistent
|
|
ruby: Can't chdir to /nonexistent (fatal)
|
|
$ ruby -C /dev/null
|
|
ruby: Can't chdir to /dev/null (fatal)
|
|
```
|
|
|
|
Whitespace between the option and its argument may be omitted.
|
|
|
|
### `-d`: Set `$DEBUG` to `true`
|
|
|
|
Some code in (or called by) the Ruby program may include statements or blocks
|
|
conditioned by the global variable `$DEBUG` (e.g., `if $DEBUG`);
|
|
these commonly write to `$stdout` or `$stderr`.
|
|
|
|
The default value for `$DEBUG` is `false`;
|
|
option `-d` sets it to `true`:
|
|
|
|
```console
|
|
$ ruby -e 'p $DEBUG'
|
|
false
|
|
$ ruby -d -e 'p $DEBUG'
|
|
true
|
|
```
|
|
|
|
[Option `--debug`][--debug] is an alias for option `-d`.
|
|
|
|
### `-e`: Execute Given Ruby Code
|
|
|
|
Option `-e` requires an argument, which is Ruby code to be executed;
|
|
the option may be given more than once:
|
|
|
|
```console
|
|
$ ruby -e 'puts "Foo"' -e 'puts "Bar"'
|
|
Foo
|
|
Bar
|
|
```
|
|
|
|
Whitespace between the option and its argument may be omitted.
|
|
|
|
The command may include other options,
|
|
but should not include arguments (which, if given, are ignored).
|
|
|
|
### `-E`: Set Default Encodings
|
|
|
|
Option `-E` requires an argument, which specifies either the default external encoding,
|
|
or both the default external and internal encodings for the invoked Ruby program:
|
|
|
|
```console
|
|
# No option -E.
|
|
$ ruby -e 'p [Encoding::default_external, Encoding::default_internal]'
|
|
[#<Encoding:UTF-8>, nil]
|
|
# Option -E with default external encoding.
|
|
$ ruby -E cesu-8 -e 'p [Encoding::default_external, Encoding::default_internal]'
|
|
[#<Encoding:CESU-8>, nil]
|
|
# Option -E with default external and internal encodings.
|
|
$ ruby -E utf-8:cesu-8 -e 'p [Encoding::default_external, Encoding::default_internal]'
|
|
[#<Encoding:UTF-8>, #<Encoding:CESU-8>]
|
|
```
|
|
|
|
Whitespace between the option and its argument may be omitted.
|
|
|
|
See also:
|
|
|
|
- [Option `--external-encoding`][--external-encoding]:
|
|
Set default external encoding.
|
|
- [Option `--internal-encoding`][--internal-encoding]:
|
|
Set default internal encoding.
|
|
|
|
Option `--encoding` is an alias for option `-E`.
|
|
|
|
### `-F`: Set Input Field Separator
|
|
|
|
Option `-F`, when given with option `-a`,
|
|
specifies that its argument is to be the input field separator to be used for splitting:
|
|
|
|
```console
|
|
$ ruby -an -Fs -e 'p $F' desiderata.txt
|
|
["Go placidly amid the noi", "e and the ha", "te,\n"]
|
|
["and remember what peace there may be in ", "ilence.\n"]
|
|
["A", " far a", " po", "", "ible, without ", "urrender,\n"]
|
|
["be on good term", " with all per", "on", ".\n"]
|
|
```
|
|
|
|
The argument may be a regular expression:
|
|
|
|
```console
|
|
$ ruby -an -F'[.,]\s*' -e 'p $F' desiderata.txt
|
|
["Go placidly amid the noise and the haste"]
|
|
["and remember what peace there may be in silence"]
|
|
["As far as possible", "without surrender"]
|
|
["be on good terms with all persons"]
|
|
```
|
|
|
|
The argument must immediately follow the option
|
|
(no intervening whitespace or equal-sign character `'='`).
|
|
|
|
See also:
|
|
|
|
- [Option `-0`][-0]:
|
|
Set `$/` (input record separator).
|
|
- [Option `-a`][-a]:
|
|
Split input lines into fields.
|
|
- [Option `-l`][-l]:
|
|
Set output record separator; chop lines.
|
|
- [Option `-n`][-n]:
|
|
Run program in `gets` loop.
|
|
- [Option `-p`][-p]:
|
|
`-n`, with printing.
|
|
|
|
### `-h`: Print Short Help Message
|
|
|
|
Option `-h` prints a short help message
|
|
that includes single-hyphen options (e.g. `-I`),
|
|
and largely omits double-hyphen options (e.g., `--version`).
|
|
|
|
Arguments and additional options are ignored.
|
|
|
|
For a longer help message, use option `--help`.
|
|
|
|
### `-i`: Set \ARGF In-Place Mode
|
|
|
|
Option `-i` sets the \ARGF in-place mode for the invoked Ruby program;
|
|
see ARGF#inplace_mode=:
|
|
|
|
```console
|
|
$ ruby -e 'p ARGF.inplace_mode'
|
|
nil
|
|
$ ruby -i -e 'p ARGF.inplace_mode'
|
|
""
|
|
$ ruby -i.bak -e 'p ARGF.inplace_mode'
|
|
".bak"
|
|
```
|
|
|
|
### `-I`: Add to `$LOAD_PATH`
|
|
|
|
The argument to option `-I` specifies a directory
|
|
to be added to the array in global variable `$LOAD_PATH`;
|
|
the option may be given more than once:
|
|
|
|
```console
|
|
$ pushd /tmp
|
|
$ ruby -e 'p $LOAD_PATH.size'
|
|
8
|
|
$ ruby -I my_lib -I some_lib -e 'p $LOAD_PATH.size'
|
|
10
|
|
$ ruby -I my_lib -I some_lib -e 'p $LOAD_PATH.take(2)'
|
|
["/tmp/my_lib", "/tmp/some_lib"]
|
|
$ popd
|
|
```
|
|
|
|
This option and [option `-C`][-C] will
|
|
be applied in the order in the command line; expansion of `-I` options
|
|
are affected by preceding `-C` options.
|
|
|
|
```console
|
|
$ ruby -C / -Ilib -C usr -Ilib -e 'puts $:[0, 2]'
|
|
/lib
|
|
/usr/lib
|
|
```
|
|
|
|
Whitespace between the option and its argument may be omitted.
|
|
|
|
### `-l`: Set Output Record Separator; Chop Lines
|
|
|
|
Option `-l`, when given with option `-n` or `-p`,
|
|
modifies line-ending processing by:
|
|
|
|
- Setting global variable output record separator `$\`
|
|
to the current value of input record separator `$/`;
|
|
this affects line-oriented output (such a the output from Kernel#puts).
|
|
- Calling String#chop! on each line read.
|
|
|
|
Without option `-l` (unchopped):
|
|
|
|
```console
|
|
$ ruby -n -e 'p $_' desiderata.txt
|
|
"Go placidly amid the noise and the haste,\n"
|
|
"and remember what peace there may be in silence.\n"
|
|
"As far as possible, without surrender,\n"
|
|
"be on good terms with all persons.\n"
|
|
```
|
|
|
|
With option `-l` (chopped):
|
|
|
|
```console
|
|
$ ruby -ln -e 'p $_' desiderata.txt
|
|
"Go placidly amid the noise and the haste,"
|
|
"and remember what peace there may be in silence."
|
|
"As far as possible, without surrender,"
|
|
"be on good terms with all persons."
|
|
```
|
|
|
|
See also:
|
|
|
|
- [Option `-0`][-0]:
|
|
Set `$/` (input record separator).
|
|
- [Option `-a`][-a]:
|
|
Split input lines into fields.
|
|
- [Option `-F`][-F]:
|
|
Set input field separator.
|
|
- [Option `-n`][-n]:
|
|
Run program in `gets` loop.
|
|
- [Option `-p`][-p]:
|
|
`-n`, with printing.
|
|
|
|
### `-n`: Run Program in `gets` Loop
|
|
|
|
Option `-n` runs your program in a `Kernel#gets` loop:
|
|
|
|
```ruby
|
|
while gets
|
|
# Your Ruby code.
|
|
end
|
|
```
|
|
|
|
Note that `gets` reads the next line and sets global variable `$_`
|
|
to the last read line:
|
|
|
|
```console
|
|
$ ruby -n -e 'puts $_' desiderata.txt
|
|
Go placidly amid the noise and the haste,
|
|
and remember what peace there may be in silence.
|
|
As far as possible, without surrender,
|
|
be on good terms with all persons.
|
|
```
|
|
|
|
See also:
|
|
|
|
- [Option `-0`][-0]:
|
|
Set `$/` (input record separator).
|
|
- [Option `-a`][-a]:
|
|
Split input lines into fields.
|
|
- [Option `-F`][-F]:
|
|
Set input field separator.
|
|
- [Option `-l`][-l]:
|
|
Set output record separator; chop lines.
|
|
- [Option `-p`][-p]:
|
|
`-n`, with printing.
|
|
|
|
### `-p`: `-n`, with Printing
|
|
|
|
Option `-p` is like option `-n`, but also prints each line:
|
|
|
|
```console
|
|
$ ruby -p -e 'puts $_.size' desiderata.txt
|
|
42
|
|
Go placidly amid the noise and the haste,
|
|
49
|
|
and remember what peace there may be in silence.
|
|
39
|
|
As far as possible, without surrender,
|
|
35
|
|
be on good terms with all persons.
|
|
```
|
|
|
|
See also:
|
|
|
|
- [Option `-0`][-0]:
|
|
Set `$/` (input record separator).
|
|
- [Option `-a`][-a]:
|
|
Split input lines into fields.
|
|
- [Option `-F`][-F]:
|
|
Set input field separator.
|
|
- [Option `-l`][-l]:
|
|
Set output record separator; chop lines.
|
|
- [Option `-n`][-n]:
|
|
Run program in `gets` loop.
|
|
|
|
### `-r`: Require Library
|
|
|
|
The argument to option `-r` specifies a library to be required
|
|
before executing the Ruby program;
|
|
the option may be given more than once:
|
|
|
|
```console
|
|
$ ruby -e 'p defined?(JSON); p defined?(CSV)'
|
|
nil
|
|
nil
|
|
$ ruby -r csv -r json -e 'p defined?(JSON); p defined?(CSV)'
|
|
"constant"
|
|
"constant"
|
|
```
|
|
|
|
The library is loaded with the `Kernel#require` method, after the
|
|
other options such as [`-C`][-C], [`-I`][-I], and "custom options" by
|
|
[`-s`][-s], are applied:
|
|
|
|
Whitespace between the option and its argument may be omitted.
|
|
|
|
### `-s`: Define Global Variable
|
|
|
|
Option `-s` specifies that a "custom option" is to define a global variable
|
|
in the invoked Ruby program:
|
|
|
|
- The custom option must appear _after_ the program name.
|
|
- If there is no script name in the command line (using {option
|
|
-e}[rdoc-ref:@-e+Execute+Given+Ruby+Code] or implicit reading from
|
|
`$stdin`), the custom options must be separated from the other
|
|
interpreter options with a `--`.
|
|
- The custom option must begin with single hyphen (e.g., `-foo`),
|
|
not two hyphens (e.g., `--foo`).
|
|
- The name of the global variable is based on the option name:
|
|
global variable `$foo` for custom option`-foo`.
|
|
- The value of the global variable is the string option argument if given,
|
|
`true` otherwise.
|
|
|
|
More than one custom option may be given:
|
|
|
|
```console
|
|
$ cat t.rb
|
|
p [$foo, $bar]
|
|
$ ruby t.rb
|
|
[nil, nil]
|
|
$ ruby -s t.rb -foo=baz
|
|
["baz", nil]
|
|
$ ruby -s t.rb -foo
|
|
[true, nil]
|
|
$ ruby -s t.rb -foo=baz -bar=bat
|
|
["baz", "bat"]
|
|
```
|
|
|
|
### `-S`: Search Directories in `ENV['PATH']`
|
|
|
|
Option `-S` specifies that the Ruby interpreter
|
|
is to search (if necessary) the directories whose paths are in the program's
|
|
`PATH` environment variable;
|
|
the program is executed in the shell's current working directory
|
|
(not necessarily in the directory where the program is found).
|
|
|
|
This example uses adds path `'tmp/'` to the `PATH` environment variable:
|
|
|
|
```console
|
|
$ export PATH=/tmp:$PATH
|
|
$ echo "puts File.basename(Dir.pwd)" > /tmp/t.rb
|
|
$ ruby -S t.rb
|
|
ruby
|
|
```
|
|
|
|
### `-v`: Print Version; Set `$VERBOSE`
|
|
|
|
Options `-v` prints the Ruby version and sets global variable `$VERBOSE`:
|
|
|
|
```console
|
|
$ ruby -e 'p $VERBOSE'
|
|
false
|
|
$ ruby -v -e 'p $VERBOSE'
|
|
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x64-mingw-ucrt]
|
|
true
|
|
```
|
|
|
|
### `-w`: Synonym for `-W1`
|
|
|
|
Option `-w` (lowercase letter) is equivalent to option `-W1` (uppercase letter).
|
|
|
|
### `-W`: Set \Warning Policy
|
|
|
|
Any Ruby code can create a <i>warning message</i> by calling method Kernel#warn;
|
|
methods in the Ruby core and standard libraries can also create warning messages.
|
|
Such a message may be printed on `$stderr`
|
|
(or not, depending on certain settings).
|
|
|
|
Option `-W` helps determine whether a particular warning message
|
|
will be written,
|
|
by setting the initial value of global variable `$-W`:
|
|
|
|
- `-W0`: Sets `$-W` to `0` (silent; no warnings).
|
|
- `-W1`: Sets `$-W` to `1` (moderate verbosity).
|
|
- `-W2`: Sets `$-W` to `2` (high verbosity).
|
|
- `-W`: Same as `-W2` (high verbosity).
|
|
- Option not given: Same as `-W1` (moderate verbosity).
|
|
|
|
The value of `$-W`, in turn, determines which warning messages (if any)
|
|
are to be printed to `$stdout` (see Kernel#warn):
|
|
|
|
```console
|
|
$ ruby -W1 -e 'p $foo'
|
|
nil
|
|
$ ruby -W2 -e 'p $foo'
|
|
-e:1: warning: global variable '$foo' not initialized
|
|
nil
|
|
```
|
|
|
|
Ruby code may also define warnings for certain categories;
|
|
these are the default settings for the defined categories:
|
|
|
|
```rb
|
|
Warning[:experimental] # => true
|
|
Warning[:deprecated] # => false
|
|
Warning[:performance] # => false
|
|
```
|
|
|
|
They may also be set:
|
|
|
|
```rb
|
|
Warning[:experimental] = false
|
|
Warning[:deprecated] = true
|
|
Warning[:performance] = true
|
|
```
|
|
|
|
You can suppress a category by prefixing `no-` to the category name:
|
|
|
|
```console
|
|
$ ruby -W:no-experimental -e 'p IO::Buffer.new'
|
|
#<IO::Buffer>
|
|
```
|
|
|
|
### `-x`: Execute Ruby Code Found in Text
|
|
|
|
Option `-x` executes a Ruby program whose code is embedded
|
|
in other, non-code, text:
|
|
|
|
The ruby code:
|
|
|
|
- Begins after the first line beginning with `'#!` and containing string `'ruby'`.
|
|
- Ends before any one of:
|
|
|
|
- End-of-file.
|
|
- A line consisting of `'__END__'`,
|
|
- Character `Ctrl-D` or `Ctrl-Z`.
|
|
|
|
Example:
|
|
|
|
```console
|
|
$ cat t.txt
|
|
Leading garbage.
|
|
#!ruby
|
|
puts File.basename(Dir.pwd)
|
|
__END__
|
|
Trailing garbage.
|
|
|
|
$ ruby -x t.txt
|
|
ruby
|
|
```
|
|
|
|
The optional argument specifies the directory where the text file
|
|
is to be found;
|
|
the Ruby code is executed in that directory:
|
|
|
|
```console
|
|
$ cp t.txt /tmp/
|
|
$ ruby -x/tmp t.txt
|
|
tmp
|
|
$
|
|
|
|
```
|
|
|
|
If an argument is given, it must immediately follow the option
|
|
(no intervening whitespace or equal-sign character `'='`).
|
|
|
|
### `--backtrace-limit`: Set Backtrace Limit
|
|
|
|
Option `--backtrace-limit` sets a limit on the number of entries
|
|
to be displayed in a backtrace.
|
|
|
|
See Thread::Backtrace.limit.
|
|
|
|
### `--copyright`: Print Ruby Copyright
|
|
|
|
Option `--copyright` prints a copyright message:
|
|
|
|
```console
|
|
$ ruby --copyright
|
|
ruby - Copyright (C) 1993-2024 Yukihiro Matsumoto
|
|
```
|
|
|
|
### `--debug`: Alias for `-d`
|
|
|
|
Option `--debug` is an alias for
|
|
[option `-d`][-d].
|
|
|
|
### `--disable`: Disable Features
|
|
|
|
Option `--disable` specifies features to be disabled;
|
|
the argument is a comma-separated list of the features to be disabled:
|
|
|
|
```sh
|
|
ruby --disable=gems,rubyopt t.rb
|
|
```
|
|
|
|
The supported features:
|
|
|
|
- `gems`: Rubygems (default: enabled).
|
|
- `did_you_mean`: [`did_you_mean`](https://github.com/ruby/did_you_mean) (default: enabled).
|
|
- `rubyopt`: `RUBYOPT` environment variable (default: enabled).
|
|
- `frozen-string-literal`: Freeze all string literals (default: disabled).
|
|
- `jit`: JIT compiler (default: disabled).
|
|
|
|
See also [option `--enable`][--enable].
|
|
|
|
### `--dump`: Dump Items
|
|
|
|
Option `--dump` specifies items to be dumped;
|
|
the argument is a comma-separated list of the items.
|
|
|
|
Some of the argument values cause the command to behave as if a different
|
|
option was given:
|
|
|
|
- `--dump=copyright`:
|
|
Same as [option `--copyright`][--copyright].
|
|
- `--dump=help`:
|
|
Same as [option `--help`][--help].
|
|
- `--dump=syntax`:
|
|
Same as [option `-c`][-c].
|
|
- `--dump=usage`:
|
|
Same as [option `-h`][-h].
|
|
- `--dump=version`:
|
|
Same as [option `--version`][--version].
|
|
|
|
For other argument values and examples,
|
|
see {Option `--dump`}[rdoc-ref:option_dump.md].
|
|
|
|
### `--enable`: Enable Features
|
|
|
|
Option `--enable` specifies features to be enabled;
|
|
the argument is a comma-separated list of the features to be enabled.
|
|
|
|
```sh
|
|
ruby --enable=gems,rubyopt t.rb
|
|
```
|
|
|
|
For the features,
|
|
see [option `--disable`][--disable].
|
|
|
|
### `--encoding`: Alias for `-E`.
|
|
|
|
Option `--encoding` is an alias for
|
|
[option `-E`][-E].
|
|
|
|
### `--external-encoding`: Set Default External \Encoding
|
|
|
|
Option `--external-encoding`
|
|
sets the default external encoding for the invoked Ruby program;
|
|
for values of `encoding`,
|
|
see [Encoding: Names and Aliases].
|
|
|
|
```console
|
|
$ ruby -e 'puts Encoding::default_external'
|
|
UTF-8
|
|
$ ruby --external-encoding=cesu-8 -e 'puts Encoding::default_external'
|
|
CESU-8
|
|
```
|
|
|
|
### `--help`: Print Help Message
|
|
|
|
Option `--help` prints a long help message.
|
|
|
|
Arguments and additional options are ignored.
|
|
|
|
For a shorter help message, use option `-h`.
|
|
|
|
### `--internal-encoding`: Set Default Internal \Encoding
|
|
|
|
Option `--internal-encoding`
|
|
sets the default internal encoding for the invoked Ruby program;
|
|
for values of `encoding`,
|
|
see [Encoding: Names and Aliases].
|
|
|
|
```console
|
|
$ ruby -e 'puts Encoding::default_internal.nil?'
|
|
true
|
|
$ ruby --internal-encoding=cesu-8 -e 'puts Encoding::default_internal'
|
|
CESU-8
|
|
```
|
|
|
|
### `--jit`
|
|
|
|
Option `--jit` is an alias for option `--yjit`, which enables YJIT;
|
|
see additional YJIT options in the [YJIT documentation](rdoc-ref:jit/yjit.md).
|
|
|
|
### `--verbose`: Set `$VERBOSE`
|
|
|
|
Option `--verbose` sets global variable `$VERBOSE` to `true`
|
|
and disables input from `$stdin`.
|
|
|
|
### `--version`: Print Ruby Version
|
|
|
|
Option `--version` prints the version of the Ruby interpreter, then exits.
|
|
|
|
[-0]: rdoc-ref:@-0+Set++Input+Record+Separator
|
|
[-C]: rdoc-ref:@-C+Set+Working+Directory
|
|
[-E]: rdoc-ref:@-E+Set+Default+Encodings
|
|
[-F]: rdoc-ref:@-F+Set+Input+Field+Separator
|
|
[-I]: rdoc-ref:@-I+Add+to+LOADPATH
|
|
[-a]: rdoc-ref:@-a+Split+Input+Lines+into+Fields
|
|
[-c]: rdoc-ref:@-c+Check+Syntax
|
|
[-d]: rdoc-ref:@-d+Set+DEBUG+to+true
|
|
[-e]: rdoc-ref:@-e+Execute+Given+Ruby+Code
|
|
[-h]: rdoc-ref:@-h+Print+Short+Help+Message
|
|
[-l]: rdoc-ref:@-l+Set+Output+Record+Separator+Chop+Lines
|
|
[-n]: rdoc-ref:@-n+Run+Program+in+gets+Loop
|
|
[-p]: rdoc-ref:@-p+-n+with+Printing
|
|
[-s]: rdoc-ref:@-s+Define+Global+Variable
|
|
[--copyright]: rdoc-ref:@--copyright+Print+Ruby+Copyright
|
|
[--debug]: rdoc-ref:@--debug+Alias+for+-d
|
|
[--disable]: rdoc-ref:@--disable+Disable+Features
|
|
[--enable]: rdoc-ref:@--enable+Enable+Features
|
|
[--external-encoding]: rdoc-ref:@--external+encoding+Set+Default+External+Encoding
|
|
[--internal-encoding]: rdoc-ref:@--internal+encoding+Set+Default+Internal+Encoding
|
|
[--help]: rdoc-ref:@--help+Print+Help+Message
|
|
[--version]: rdoc-ref:@--version+Print+Ruby+Version
|
|
[Encoding: Names and Aliases]: rdoc-ref:encodings.rdoc@Names+and+Aliases
|