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.