# English.rb

Path: | English.rb
Last Update: | Sat Oct 15 23:44:27 AUS Eastern Standard Time 2005

Include the English library file in a Ruby script, and you can reference the global variables such as \VAR{\$_} using less cryptic names, listed in the following table.% \vref{tab:english}.

Without ‘English’:

        $\ = ' -- '
        "waterbuffalo" =~ /buff/
        print $", $', $$, "\n"

With English:

        require "English"

        $OUTPUT_FIELD_SEPARATOR = ' -- '
        "waterbuffalo" =~ /buff/
        print $LOADED_FEATURES, $POSTMATCH, $PID, "\n"

### External Aliases

$! | -> | $ERROR_INFO
| The exception object passed to `raise`.
$@ | -> | $ERROR_POSITION
| The stack backtrace generated by the last exception. `See Kernel.caller` for details. Thread local.
$; | -> | $FS
| The default separator pattern used by `String.split`. May be set from the command line using the `-F` flag.
$; | -> | $FIELD_SEPARATOR
| The default separator pattern used by `String.split`. May be set from the command line using the `-F` flag.
$, | -> | $OFS
| The separator string output between the parameters to methods such as `Kernel.print` and `Array.join`. Defaults to `nil`, which adds no text.
$, | -> | $OUTPUT_FIELD_SEPARATOR
| The separator string output between the parameters to methods such as `Kernel.print` and `Array.join`. Defaults to `nil`, which adds no text.
$/ | -> | $RS
| The input record separator (newline by default). This is the value that routines such as `Kernel.gets` use to determine record boundaries. If set to `nil`, `gets` will read the entire file.
$/ | -> | $INPUT_RECORD_SEPARATOR
| The input record separator (newline by default). This is the value that routines such as `Kernel.gets` use to determine record boundaries. If set to `nil`, `gets` will read the entire file.
$\ | -> | $ORS
| The string appended to the output of every call to methods such as `Kernel.print` and `IO.write`. The default value is `nil`.
$\ | -> | $OUTPUT_RECORD_SEPARATOR
| The string appended to the output of every call to methods such as `Kernel.print` and `IO.write`. The default value is `nil`.
$. | -> | $INPUT_LINE_NUMBER
| The number of the last line read from the current input file.
$. | -> | $NR
| The number of the last line read from the current input file.
$_ | -> | $LAST_READ_LINE
| The last line read by `Kernel.gets` or `Kernel.readline`. Many string-related functions in the `Kernel` module operate on `$_` by default. The variable is local to the current scope. Thread local.
$> | -> | $DEFAULT_OUTPUT
| The destination of output for `Kernel.print` and `Kernel.printf`. The default value is `$stdout`.
$< | -> | $DEFAULT_INPUT

An object that provides access to the concatenation of the contents of all the files given as command-line arguments, or `$stdin` (in the case where there are no arguments). `$<` supports methods similar to a `File` object: `inmode`, `close`, `closed?`, `each`, `each_byte`, `each_line`, `eof`, `eof?`, `file`, `filename`, `fileno`, `getc`, `gets`, `lineno`, `lineno=`, `path`, `pos`, `pos=`, `read`, `readchar`, `readline`, `readlines`, `rewind`, `seek`, `skip`, `tell`, `to_a`, `to_i`, `to_io`, `to_s`, along with the methods in `Enumerable`. The method `file` returns a `File` object for the file currently being read. This may change as `$<` reads through the files on the command line. Read only.

$$ | -> | $PID
| The process number of the program being executed. Read only.
$$ | -> | $PROCESS_ID
| The process number of the program being executed. Read only.
$? | -> | $CHILD_STATUS
| The exit status of the last child process to terminate. Read only. Thread local.
$~ | -> | $LAST_MATCH_INFO
| A `MatchData` object that encapsulates the results of a successful pattern match. The variables `$&`, `$``, `$’`, and `$1` to `$9` are all derived from `$~`. Assigning to `$~` changes the values of these derived variables. This variable is local to the current scope. Thread local.
$= | -> | $IGNORECASE
| If set to any value apart from `nil` or `false`, all pattern matches will be case insensitive, string comparisons will ignore case, and string hash values will be case insensitive. Deprecated
$* | -> | $ARGV
| An array of strings containing the command-line options from the invocation of the program. Options used by the Ruby interpreter will have been removed. Read only. Also known simply as `ARGV`.
$& | -> | $MATCH
| The string matched by the last successful pattern match. This variable is local to the current scope. Read only. Thread local.
$` | -> | $PREMATCH
| The string preceding the match in the last successful pattern match. This variable is local to the current scope. Read only. Thread local.
$' | -> | $POSTMATCH
| The string following the match in the last successful pattern match. This variable is local to the current scope. Read only. Thread local.
$+ | -> | $LAST_PAREN_MATCH
| The contents of the highest-numbered group matched in the last successful pattern match. Thus, in `"cat" =~ /(c|a)(t|z)/`, `$+` will be set to "t". This variable is local to the current scope. Read only. Thread local.

[Validate]