https://github.com/ruby/english
https://github.com/ruby/english
hacktoberfest ruby
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ruby/english
- Owner: ruby
- License: other
- Created: 2020-02-13T08:54:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-04T06:06:32.000Z (5 months ago)
- Last Synced: 2025-04-08T19:21:20.452Z (3 months ago)
- Topics: hacktoberfest, ruby
- Language: Ruby
- Size: 41 KB
- Stars: 32
- Watchers: 33
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# 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:
```ruby
gem 'english'
```And then execute:
$ bundle install
Or install it yourself as:
$ gem install english
## Usage
Without 'English':
```ruby
$\ = ' -- '
"waterbuffalo" =~ /buff/
print $', $$, "\n"
```With English:
```ruby
require "English"$OUTPUT_FIELD_SEPARATOR = ' -- '
"waterbuffalo" =~ /buff/
print $POSTMATCH, $PID, "\n"
```The aliases are defined in [English.rb](lib/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](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/ruby/English.