http://www.zenspider.com/Languages/Ruby/QuickRef.html
$! The exception information message set by 'raise'.
$@ Array of 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.
$= The flag for case insensitive, nil by default.
$/ 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.
$: Load path for scripts and binary modules by load or require.
$" The array contains the module names loaded by require.
$DEBUG The status of the -d switch.
$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 -v switch.
$-0 The alias to $/.
$-a True if option -a is set. Read-only variable.
$-d The alias to $DEBUG.
$-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 The alias to $VERBOSE.
$-w True if option -w is set.
http://jimneath.org/2010/01/04/cryptic-ruby-global-variables-and-their-meanings.html
Environmental Global Variables
$: (Dollar Colon)
$:
is basically a shorthand version of
$LOAD_PATH
.
$:
contains an array of paths that your script will search through when using
require
.
$0 (Dollar Zero)
$0
contains the name of the ruby program being run. This is typically the script name.
$* (Dollar Splat)
$*
is basically shorthand for
ARGV
.
$*
contains the command line arguments that were passed to the script.
$? (Dollar Question Mark)
$?
returns the exit status of the last child process to finish.
$$ (Dollar Dollar)
$$
returns the process number of the program currently being ran.
Regular Expression Global Variables
$~ (Dollar Tilde)
$~
contains the
MatchData
from the previous successful pattern match.
$1, $2, $3, $4 etc
$1-$9
represent the content of the previous successful pattern match.
$& (Dollar Ampersand)
$&
contains the matched string from the previous successful pattern match.
$+ (Dollar Plus)
$+
contains the last match from the previous successful pattern match.
$` (Dollar Backtick)
$`
contains the string before the actual matched string of the previous successful pattern match.
$’ (Dollar Apostrophe)
$'
contains the string after the actual matched string of the previous successful pattern match.
Exceptional Global Variables
$! (Dollar Bang)
$!
contains the
Exception
that was passed to
raise
.
$@ (Dollar At Symbol)
$@
contains the backtrace for the last
Exception
raised.
Other Global Variables
$_ (Dollar Underscore)
$_ The last input line of string by gets or readline.
$, (Dollar Comma)
$,
is the (global) default separator
for Array#join and possibly other methods.