| title | Globals |
|---|---|
| prev | /language/files.html |
| next | /language/metaprogramming.html |
-
$!: The Exception object set byKernel#raise. -
$@: The same as$!.backtrace. -
$~: The information about the last match in the current scope (thread-local and frame-local). -
$&: 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. -
$=: This variable is no longer effective. Deprecated. -
$/: The input record separator, newline by default. Aliased to$-0. -
$\: The output record separator forKernel#printandIO#write. Default isnil. -
$,: The output field separator forKernel#printandArray#join. Non-nil $, will be deprecated. -
$;: The default separator forString#split. Non-nil $; will be deprecated. Aliased to$-F. -
$.: The current input line number of the last file that was read. -
$<: The same as ARGF. -
$>: The default output stream forKernel#printandKernel#printf.$stdoutby default. -
$_: The last input line of string by gets or readline. -
$0: Contains the name of the script being executed. May be assignable. -
$*: The same as ARGV. -
$$: The process number of the Ruby running this script. Same as Process.pid. -
$?: The status of the last executed child process (thread-local). -
$LOAD_PATH: Load path for searching Ruby scripts and extension libraries used by Kernel#load and Kernel#require. Aliased to$:and $-I. Has a singleton method$LOAD_PATH.resolve_feature_path(feature)that returns [:rbor:so, path], which resolves the feature to the path the original Kernel#require method would load. -
$LOADED_FEATURES: The array contains the module names loaded by require. Aliased to$". -
$DEBUG: The debug flag, which is set by the-dswitch. Enabling debug output prints each exception raised to$stderr(but not its backtrace). Setting this to a true value enables debug output as if-dwere given on the command line. Setting this to a false value disables debug output. Aliased to$-d. -
$FILENAME: Current input filename from ARGF. Same as ARGF.filename. -
$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-wor-vswitch. Setting this to a true value enables warnings as if-wor-vwere given on the command line. Setting this tonildisables warnings, including from Kernel#warn. Aliased to$-v and $-w. -
$-a: True if option-ais set. Read-only variable. -
$-i: In in-place-edit mode, this variable holds the extension, otherwisenil. -
$-l: True if option-lis set. Read-only variable. -
$-p: True if option-pis set. Read-only variable.
-
TRUE: The typical true value. Deprecated. -
FALSE: Thefalseitself. Deprecated. -
NIL: Thenilitself. Deprecated. -
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 virtual concatenation of the files given on command line (or from$stdinif no files were given). -
ARGV: An Array of command line arguments given for the script. -
DATA: The file object of the script, pointing just after__END__. -
TOPLEVEL_BINDING: The Binding of the top level scope. -
RUBY_VERSION: The Ruby language version. -
RUBY_RELEASE_DATE: The release date string. -
RUBY_PLATFORM: The platform identifier. -
RUBY_PATCHLEVEL: The patchlevel for this Ruby. If this is a development build of Ruby the patchlevel will be -1. -
RUBY_REVISION: The GIT commit hash for this Ruby. -
RUBY_COPYRIGHT: The copyright string for Ruby. -
RUBY_ENGINE: The name of the Ruby implementation. -
RUBY_ENGINE_VERSION: The version of the Ruby implementation. -
RUBY_DESCRIPTION: The same asruby --version, a String describing various aspects of the Ruby implementation.
English standard library provides longer, more readable names for predefined global variables.
Without 'English':
$\ = ' -- '
"waterbuffalo" =~ /buff/
print $', $$, "\n"With English:
require "English"
$OUTPUT_FIELD_SEPARATOR = ' -- '
"waterbuffalo" =~ /buff/
print $POSTMATCH, $PID, "\n"Below is a full list of descriptive aliases and their associated global variable:
$ERROR_INFO:$!$ERROR_POSITION:$@$FS:$;$FIELD_SEPARATOR:$;$OFS:$,$OUTPUT_FIELD_SEPARATOR:$,$RS:$/$INPUT_RECORD_SEPARATOR:$/$ORS:$\$OUTPUT_RECORD_SEPARATOR:$\$INPUT_LINE_NUMBER:$.$NR:$.$LAST_READ_LINE:$_$DEFAULT_OUTPUT:$>$DEFAULT_INPUT:$<$PID:$$$PROCESS_ID:$$$CHILD_STATUS:$?$LAST_MATCH_INFO:$~$IGNORECASE:$=$ARGV:$*$MATCH:$&$PREMATCH:$`$POSTMATCH:$'$LAST_PAREN_MATCH:$+