fork-commit-merge / fork-commit-merge

Fork, Commit, Merge. A project designed to help you familiarize yourself with the open source contribution workflow on GitHub!

Home Page:https://forkcommitmerge.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fork, Commit, Merge - Medium Issue (Ruby)

nikohoffren opened this issue · comments

Fork, Commit, Merge - Medium Issue (Ruby)

Create a Ruby script to Parse and Analyze a Text File

Note: You don't have ask permission to start solving the issue or get assigned, since these issues are supposed to be always open for new contributors. The actions-user bot will reset the file back to previous state for the next contributor after your commit is merged. So you can just simply start working with the issue right away!

How to get started:

Open the tasks/ruby/medium directory from the root of your project.
Then open a file called text_parser.rb and start implementing your solution!

Objective:

The goal is to create a Ruby script that can read a given text file (example.txt), parse its contents, and then perform some basic text analysis on it.

Requirements:

  • Read a text file that is passed as a command-line argument.
  • Count the total number of lines, words, and characters in the example.txt file.
  • Identify the 5 most frequently occurring words in the text and display them with their occurrence counts.
  • Identify the 3 longest lines in the text and display them.
  • Include error handling for file not found or unreadable files.
  • Define functions for each of the tasks outlined above.
  • Use Ruby's built-in File class for file operations.

Expected output:

Total lines: 7
Total words: 49
Total characters: 279
5 Most Frequent Words: {"the"=>3, "this"=>2, "is"=>2, "text"=>2, "it"=>2}
3 Longest Lines:
Probably because it contains every letter of the alphabet.
It contains multiple lines, words, and characters.
Why do we use that phrase so often in examples?

How to run:

Make sure you are in the correct directory:

cd tasks/ruby/medium

Run the script:

ruby text_parser.rb example.txt

To work with this issue, you need to have Ruby installed to your local machine.
Check out README.md for more instructions of installing Ruby and how to make a pull request.

Feel free to ask any questions here if you have some problems!

Also, kindly give this project a star to enhance its visibility for new developers!