$!
$@
$&
$`
$'
$+
$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