Pre-defined global variables¶ ↑
- $!
 - 
The
Exceptionobject 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#printandIO#write. Default isnil. - $,
 - 
The output field separator for
Kernel#printandArray#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#printandKernel#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#loadandKernel#require. Aliased to $: and $-I. Has a singleton method$LOAD_PATH.resolve_feature_path(feature)that returns [:rbor:so, path], which resolves the feature to the path the originalKernel#requiremethod would load. - $LOADED_FEATURES
 - 
The array contains the module names loaded by require. Aliased to $“.
 - $DEBUG
 - 
The debug flag, which is set by the
-dswitch. Enabling debug output prints each exception raised to $stderr (but not its backtrace). Setting this to a true value enables debug output as if-dwere 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
-wor-vswitch. Setting this to a true value enables warnings as if-wor-vwere given on the command line. Setting this tonildisables warnings, including fromKernel#warn. Aliased to $-v and $-w. - $-a
 - 
True if option
-ais set. Read-only variable. - $-i
 - 
In in-place-edit mode, this variable holds the extension, otherwise
nil. - $-l
 - 
True if option
-lis set. Read-only variable. - $-p
 - 
True if option
-pis 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
Arrayof command line arguments given for the script. - DATA
 - 
The file object of the script, pointing just after
__END__. - TOPLEVEL_BINDING
 - 
The
Bindingof 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, aStringdescribing various aspects of the Ruby implementation.