Pre-defined global variables¶ ↑
- $!
-
The
Exception
object set byKernel#raise
. - $@
-
The same as
$!.backtrace
. - $~
-
The information about the last match in the current scope (thread-local and frame-local).
- $&
-
The string matched by the last successful match.
- $‘
-
The string to the left of the last successful match.
- $‘
-
The string to the right of the last successful match.
- $+
-
The highest group matched by the last successful match.
- $1
-
The Nth group of the last successful match. May be > 1.
- $=
-
This variable is no longer effective. Deprecated.
- $/
-
The input record separator, newline by default. Aliased to $-0.
- $\
-
The output record separator for
Kernel#print
andIO#write
. Default isnil
. - $,
-
The output field separator for
Kernel#print
andArray#join
. Non-nil $, will be deprecated. - $;
-
The default separator for
String#split
. Non-nil $; will be deprecated. Aliased to $-F. - $.
-
The current input line number of the last file that was read.
- $<
-
The same as
ARGF
. - $>
-
The default output stream for
Kernel#print
andKernel#printf
. $stdout by default. - $_
-
The last input line of string by gets or readline.
- $0
-
Contains the name of the script being executed. May be assignable.
- $*
-
The same as ARGV.
- $$
-
The process number of the Ruby running this script. Same as
Process.pid
. - $?
-
The status of the last executed child process (thread-local).
- $LOAD_PATH
-
Load path for searching Ruby scripts and extension libraries used by
Kernel#load
andKernel#require
. Aliased to $: and $-I. Has a singleton method$LOAD_PATH.resolve_feature_path(feature)
that returns [:rb
or:so
, path], which resolves the feature to the path the originalKernel#require
method would load. - $LOADED_FEATURES
-
The array contains the module names loaded by require. Aliased to $“.
- $DEBUG
-
The debug flag, which is set by the
-d
switch. Enabling debug output prints each exception raised to $stderr (but not its backtrace). Setting this to a true value enables debug output as if-d
were given on the command line. Setting this to a false value disables debug output. Aliased to $-d. - $FILENAME
-
Current input filename from
ARGF
. Same asARGF.filename
. - $stderr
-
The current standard error output.
- $stdin
-
The current standard input.
- $stdout
-
The current standard output.
- $VERBOSE
-
The verbose flag, which is set by the
-w
or-v
switch. Setting this to a true value enables warnings as if-w
or-v
were given on the command line. Setting this tonil
disables warnings, including fromKernel#warn
. Aliased to $-v and $-w. - $-a
-
True if option
-a
is set. Read-only variable. - $-i
-
In in-place-edit mode, this variable holds the extension, otherwise
nil
. - $-l
-
True if option
-l
is set. Read-only variable. - $-p
-
True if option
-p
is set. Read-only variable.
Pre-defined global constants¶ ↑
- STDIN
-
The standard input. The default value for $stdin.
- STDOUT
-
The standard output. The default value for $stdout.
- STDERR
-
The standard error output. The default value for $stderr.
ENV
-
The hash contains current environment variables.
ARGF
-
The virtual concatenation of the files given on command line (or from $stdin if no files were given).
- ARGV
-
An
Array
of command line arguments given for the script. - DATA
-
The file object of the script, pointing just after
__END__
. - TOPLEVEL_BINDING
-
The
Binding
of the top level scope. - RUBY_VERSION
-
The Ruby language version.
- RUBY_RELEASE_DATE
-
The release date string.
- RUBY_PLATFORM
-
The platform identifier.
- RUBY_PATCHLEVEL
-
The patchlevel for this Ruby. If this is a development build of Ruby the patchlevel will be -1.
- RUBY_REVISION
-
The GIT commit hash for this Ruby.
- RUBY_COPYRIGHT
-
The copyright string for Ruby.
- RUBY_ENGINE
-
The name of the Ruby implementation.
- RUBY_ENGINE_VERSION
-
The version of the Ruby implementation.
- RUBY_DESCRIPTION
-
The same as
ruby --version
, aString
describing various aspects of the Ruby implementation.