Skip to content

ruby/English

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English

Include the English library file in a Ruby script, and you can reference the global variables such as $_ using less cryptic names, listed below.

Installation

Add this line to your application's Gemfile:

gem 'english'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install english

Usage

Without 'English':

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

With English:

require "English"

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

The aliases are defined in English.rb, and are as follows, first alias to builtin, then builtin to alias:

Builtin to Alias Table

Builtin Alias
$! $ERROR_INFO
$$ $PID
$$ $PROCESS_ID
$& $MATCH
$' $POSTMATCH
$* $ARGV
$+ $LAST_PAREN_MATCH
$, $OFS
$, $OUTPUT_FIELD_SEPARATOR
$. $INPUT_LINE_NUMBER
$. $NR
$/ $INPUT_RECORD_SEPARATOR
$/ $RS
$; $FIELD_SEPARATOR
$; $FS
$< $DEFAULT_INPUT
$> $DEFAULT_OUTPUT
$? $CHILD_STATUS
$@ $ERROR_POSITION
$\ $ORS
$\ $OUTPUT_RECORD_SEPARATOR
$_ $LAST_READ_LINE
$` $PREMATCH
$~ $LAST_MATCH_INFO

Alias to Builtin Table

Alias Builtin
$ARGV $*
$CHILD_STATUS $?
$DEFAULT_INPUT $<
$DEFAULT_OUTPUT $>
$ERROR_INFO $!
$ERROR_POSITION $@
$FIELD_SEPARATOR $;
$FS $;
$INPUT_LINE_NUMBER $.
$INPUT_RECORD_SEPARATOR $/
$LAST_MATCH_INFO $~
$LAST_PAREN_MATCH $+
$LAST_READ_LINE $_
$MATCH $&
$NR $.
$OFS $,
$ORS $\
$OUTPUT_FIELD_SEPARATOR $,
$OUTPUT_RECORD_SEPARATOR $\
$PID $$
$POSTMATCH $'
$PREMATCH $`
$PROCESS_ID $$
$RS $/

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/English.