Pre-defined variables¶ ↑
- $!
 - 
The exception information message set by 'raise'.
 - $@
 - 
Arrayof backtrace of the last exception thrown. - $&
 - 
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.
 - $~
 - 
The information about the last match in the current scope.
 - $=
 - 
This variable is no longer effective. Deprecated.
 - $/
 - 
The input record separator, newline by default.
 - $\
 - 
The output record separator for the print and
IO#write. Default is nil. - $,
 - 
The output field separator for the print and
Array#join. - $;
 - 
The default separator for
String#split. - $.
 - 
The current input line number of the last file that was read.
 - $<
 - 
The virtual concatenation file of the files given on command line (or from $stdin if no files were given).
 - $>
 - 
The default output for print, 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.
 - $*
 - 
Command line arguments given for the script sans args.
 - $$
 - 
The process number of the Ruby running this script.
 - $?
 - 
The status of the last executed child process. This value is thread-local.
 - $:
 - 
Load path for scripts and binary modules by load or require.
 - $“
 - 
The array contains the module names loaded by require.
 - $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.
 - $LOADED_FEATURES
 - 
The alias to the $“.
 - $FILENAME
 - 
Current input file from $<. Same as $<.filename.
 - $LOAD_PATH
 - 
The alias to the $:.
 - $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 to nil disables warnings, including from
Kernel#warn. - $-0
 - 
The alias to $/.
 - $-a
 - 
True if option -a is set. Read-only variable.
 - $-d
 - 
The alias of $DEBUG. See $DEBUG above for further discussion.
 - $-F
 - 
The alias to $;.
 - $-i
 - 
In in-place-edit mode, this variable holds the extension, otherwise nil.
 - $-I
 - 
The alias to $:.
 - $-l
 - 
True if option -l is set. Read-only variable.
 - $-p
 - 
True if option -p is set. Read-only variable.
 - $-v
 - 
An alias of $VERBOSE. See $VERBOSE above for further discussion.
 - $-w
 - 
An alias of $VERBOSE. See $VERBOSE above for further discussion.
 
Pre-defined global constants¶ ↑
- TRUE
 - 
The typical true value.
 - FALSE
 - 
The false itself.
 - NIL
 - 
The nil itself.
 - 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 alias to the $<.
 - ARGV
 - 
The alias to the $*.
 - DATA
 - 
The file object of the script, pointing just after __END__.
 - RUBY_VERSION
 - 
The ruby version string (VERSION was deprecated).
 - RUBY_RELEASE_DATE
 - 
The release date string.
 - RUBY_PLATFORM
 - 
The platform identifier.