# -*- mode: rdoc; coding: utf-8; fill-column: 74; -*-

== Pre-defined global variables

$!::   The Exception object set by Kernel#raise.
$@::   The same as <code>$!.backtrace</code>.
$~::   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 for Kernel#print and IO#write. Default is +nil+.
$,::   The output field separator for Kernel#print and Array#join. Non-nil $, will be deprecated.
$;::   The default separator for String#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 for Kernel#print and Kernel#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.
$*::   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 <code>$LOAD_PATH.resolve_feature_path(feature)</code>
               that returns [+:rb+ or +: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 <tt>-d</tt> switch.  Enabling debug
             output prints each exception raised to $stderr (but not its
             backtrace).  Setting this to a true value enables debug output as
             if <tt>-d</tt> were 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 <tt>-w</tt> or <tt>-v</tt> switch.
             Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
             on the command line.  Setting this to +nil+ disables warnings,
             including from Kernel#warn. Aliased to $-v and $-w.
$-a::  True if option <tt>-a</tt> is set. Read-only variable.
$-i::  In in-place-edit mode, this variable holds the extension, otherwise +nil+.
$-l::  True if option <tt>-l</tt> is set. Read-only variable.
$-p::  True if option <tt>-p</tt> is set. Read-only variable.

== Pre-defined global constants

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 $stdin if 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 <code>__END__</code>.
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 as <tt>ruby --version</tt>, a String describing various aspects of the Ruby implementation.
