prev - next - index

Pre-defined variables



$!
The exception information message. fail set this variable.

$@
The backtrace of the last exception, which is the array of the string that indicates the point where methods invoked from. The elements in the format like:
"filename:line"
or
"filename:line:in `methodname'"
(Mnemonic: where exception occurred at.)

$&
The string matched by the last successful pattern match in this scope. (Mnemonic: like & in some editors.) This variable is read-only.

$`
The string preceding whatever was matched by the last successful pattern match in the current scope. (Mnemonic: ` often precedes a quoted string.) This variable is read-only.

$'
The string following whatever was matched by the last successful pattern match in the current scope. (Mnemonic: ' often follows a quoted string.)

$+
The last bracket matched by the last search pattern. This is useful if you don't know which of a set of alternative patterns matched. (Mnemonic: be positive and forward looking.)

$1, $2...
Contains the subpattern from the corresponding set of parentheses in the last pattern matched, not counting patterns matched in nested blocks that have been exited already. (Mnemonic: like \digit.) These variables are all read-only.

$~
The information about the last match in the current scope. Setting this variables affects the match variables like $&, $+, $1 etc. (Mnemonic: ~ is for match.) This variable is locally scoped.

$=
The flag for case insensitive, nil by default. (Mnemonic: = is for comparison.)

$/
The input record separator, newline by default. Works like awk's RS variable. If it is set to nil, whole file will be read at once. (Mnemonic: / is used to delimit line boundaries when quoting poetry.)

$\
The output record separator for the print and IO#write. The default is nil. (Mnemonic: It's just like /, but it's what you get "back" from ruby.)

$,
The output field separator for the print. Also, it is the default separator for Array#join. (Mnemonic: what is printed when there is a , in your print statement.)

$;
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 by command line arguments, or stdin (in case no argument file supplied). $<.file returns the current filename. (Mnemonic: $< is a shell input source.)

$>
The default output for print, printf. $stdout by default. (Mnemonic: $> is for shell output.)

$_
The last input line of string. This variable is locally scoped. (Mnemonic: basically same as Perl.)

$0
Contains the name of the file containing the ruby script being executed. Assigning to $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.)

$*
command line arguments given for the script. The options for ruby interpreter are already removed. (Mnemonic: same as sh and ksh.)

$$
The process number of the ruby running this script. (Mnemonic: same as shells.)

$?
The status of the last executed child process.

$:
The array contains the list of places to look for ruby scripts and binary modules by 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.)

$"
The array contains the module names loaded by require. Used for prevent require from load modules twice. (Mnemonic: prevent files to be doubly quoted(loaded).)

$DEBUG
The status of the -d switch.

$FILENAME
Same as $<.filename.

$LOAD_PATH
The alias to the $:.

$stdin
The current standard input.

$stdout
The current standard output.

$stderr
The current standard error output.

$VERBOSE
The verbose flag, which is set by the -v switch to the ruby interpreter.


Pre-defined global constants



TRUE
The common true value. All non-false values (everything except nil and FALSE) is true in ruby.

FALSE
The false 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. Setting a value in ENV changes the environment for child processes.

ARGF
The alias to the $<.

ARGV
The alias to the $*.

VERSION
The ruby version string.


prev - next - index

matz@caelum.co.jp