$!
$@
$&
$`
$'
$+
$1, $2..
$~
$=
$/
$\
$,
$;
$.
$<
$>
$_
$0
$*
$$
$?
$:
$"
$DEBUG
$FILENAME
$LOAD_PATH
$stdin
$stdout
$stderr
$VERBOSE
$!
fail set
this variable.
$@
or"filename:line"
(Mnemonic: where exception occurred at.)"filename:line:in `methodname'"
$&
$`
$'
$+
$1, $2...
$~
$&,
$+, $1 etc. (Mnemonic: ~ is for match.)
This variable is locally scoped.
$=
nil by default.
(Mnemonic: = is for comparison.)
$/
nil,
whole file will be read at once. (Mnemonic: / is used to delimit line
boundaries when quoting poetry.)
$\
print and
IO#write.
The default is nil. (Mnemonic: It's just like
/, but it's what you get "back" from ruby.)
$,
print.
Also, it is the default separator for
Array#join.
(Mnemonic: what is printed when there is a , in your
print statement.)
$;
String#split.
$.
$<
$<.file returns the current filename.
(Mnemonic: $< is a shell input source.)
$>
print,
printf.
$stdout by default.
(Mnemonic: $> is for shell output.)
$_
$0
$0 modifies the argument area
that the ps(1) program sees. This is more useful as a
way of indicating the current program state than it is for hiding the
program you're running. (Mnemonic: same as sh and ksh.)
$*
$$
$?
$:
load
or require. It
initially consists of the arguments to any
-I command line
switches, followed by the default ruby library, probably
"/usr/local/lib/ruby", followed by ".", to represent the current
directory. (Mnemonic: colon is the separators for PATH environment
variable.)
$"
require. Used for prevent
require from load
modules twice. (Mnemonic: prevent files to be doubly quoted(loaded).)
$DEBUG
$FILENAME
$<.filename.
$LOAD_PATH
$:.
$stdin
$stdout
$stderr
$VERBOSE
TRUE
nil and FALSE) is true in ruby.
FALSE
STDIN
$stdin.
STDOUT
$stdout.
STDERR
$stderr.
ENV
ENV changes the environment for child processes.
ARGF
$<.
ARGV
$*.
VERSION