diff options
Diffstat (limited to 'lib/English.rb')
| -rw-r--r-- | lib/English.rb | 145 |
1 files changed, 141 insertions, 4 deletions
diff --git a/lib/English.rb b/lib/English.rb index 625b035270..bf7896dcd6 100644 --- a/lib/English.rb +++ b/lib/English.rb @@ -1,27 +1,164 @@ +# frozen_string_literal: true +# Include the English library file in a Ruby script, and you can +# reference the global variables such as <code>$_</code> using less +# cryptic names, listed below. +# +# 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: +# +# <tt>$ERROR_INFO</tt>:: <tt>$!</tt> +# <tt>$ERROR_POSITION</tt>:: <tt>$@</tt> +# <tt>$FS</tt>:: <tt>$;</tt> +# <tt>$FIELD_SEPARATOR</tt>:: <tt>$;</tt> +# <tt>$OFS</tt>:: <tt>$,</tt> +# <tt>$OUTPUT_FIELD_SEPARATOR</tt>:: <tt>$,</tt> +# <tt>$RS</tt>:: <tt>$/</tt> +# <tt>$INPUT_RECORD_SEPARATOR</tt>:: <tt>$/</tt> +# <tt>$ORS</tt>:: <tt>$\</tt> +# <tt>$OUTPUT_RECORD_SEPARATOR</tt>:: <tt>$\</tt> +# <tt>$NR</tt>:: <tt>$.</tt> +# <tt>$INPUT_LINE_NUMBER</tt>:: <tt>$.</tt> +# <tt>$LAST_READ_LINE</tt>:: <tt>$_</tt> +# <tt>$DEFAULT_OUTPUT</tt>:: <tt>$></tt> +# <tt>$DEFAULT_INPUT</tt>:: <tt>$<</tt> +# <tt>$PID</tt>:: <tt>$$</tt> +# <tt>$PROCESS_ID</tt>:: <tt>$$</tt> +# <tt>$CHILD_STATUS</tt>:: <tt>$?</tt> +# <tt>$LAST_MATCH_INFO</tt>:: <tt>$~</tt> +# <tt>$ARGV</tt>:: <tt>$*</tt> +# <tt>$MATCH</tt>:: <tt>$&</tt> +# <tt>$PREMATCH</tt>:: <tt>$`</tt> +# <tt>$POSTMATCH</tt>:: <tt>$'</tt> +# <tt>$LAST_PAREN_MATCH</tt>:: <tt>$+</tt> +# +module English end if false + +# The exception object passed to +raise+. alias $ERROR_INFO $! + +# The stack backtrace generated by the last +# exception. See Kernel#caller for details. Thread local. alias $ERROR_POSITION $@ -alias $LOADED_FEATURES $" + +# The default separator pattern used by String#split. May be set from +# the command line using the <code>-F</code> flag. alias $FS $; alias $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. + +# The separator string output between the parameters to methods such +# as Kernel#print and Array#join. Defaults to +nil+, which adds no +# text. alias $OFS $, alias $OUTPUT_FIELD_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. alias $RS $/ alias $INPUT_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+. alias $ORS $\ alias $OUTPUT_RECORD_SEPARATOR $\ -alias $INPUT_LINE_NUMBER $. + +# The number of the last line read from the current input file. alias $NR $. +alias $INPUT_LINE_NUMBER $. + +# The last line read by Kernel#gets or +# Kernel#readline. Many string-related functions in the +# Kernel module operate on <code>$_</code> by default. The variable is +# local to the current scope. Thread local. alias $LAST_READ_LINE $_ + +# The destination of output for Kernel#print +# and Kernel#printf. The default value is +# <code>$stdout</code>. alias $DEFAULT_OUTPUT $> + +# An object that provides access to the concatenation +# of the contents of all the files +# given as command-line arguments, or <code>$stdin</code> +# (in the case where there are no +# arguments). <code>$<</code> supports methods similar to a +# File object: +# +inmode+, +close+, +# <code>closed?</code>, +each+, +# <code>each_byte</code>, <code>each_line</code>, +# +eof+, <code>eof?</code>, +file+, +# +filename+, +fileno+, +# +getc+, +gets+, +lineno+, +# <code>lineno=</code>, +path+, +# +pos+, <code>pos=</code>, +# +read+, +readchar+, +# +readline+, +readlines+, +# +rewind+, +seek+, +skip+, +# +tell+, <code>to_a</code>, <code>to_i</code>, +# <code>to_io</code>, <code>to_s</code>, along with the +# methods in Enumerable. The method +file+ +# returns a File object for the file currently +# being read. This may change as <code>$<</code> reads +# through the files on the command line. Read only. alias $DEFAULT_INPUT $< + +# The process number of the program being executed. Read only. alias $PID $$ alias $PROCESS_ID $$ + +# The exit status of the last child process to terminate. Read +# only. Thread local. alias $CHILD_STATUS $? + +# A +MatchData+ object that encapsulates the results of a successful +# pattern match. The variables <code>$&</code>, <code>$`</code>, <code>$'</code>, +# and <code>$1</code> to <code>$9</code> are all derived from +# <code>$~</code>. Assigning to <code>$~</code> changes the values of these +# derived variables. This variable is local to the current +# scope. alias $LAST_MATCH_INFO $~ -alias $IGNORECASE $= -alias $PROGRAM_NAME $0 + +# 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+. alias $ARGV $* + +# The string matched by the last successful pattern +# match. This variable is local to the current +# scope. Read only. alias $MATCH $& + +# The string preceding the match in the last +# successful pattern match. This variable is local to +# the current scope. Read only. alias $PREMATCH $` + +# The string following the match in the last +# successful pattern match. This variable is local to +# the current scope. Read only. alias $POSTMATCH $' + +# The contents of the highest-numbered group matched in the last +# successful pattern match. Thus, in <code>"cat" =~ /(c|a)(t|z)/</code>, +# <code>$+</code> will be set to "t". This variable is local to the +# current scope. Read only. alias $LAST_PAREN_MATCH $+ |
