Hello, Space Explorer! Today, we're delving into an essential topic in Ruby: managing data using arrays.
We’ll practice this by building a simple Student Management System that tracks students and their grades. Using arrays in Ruby, we’ll see how to efficiently organize and access data, just as we might in real-world applications. Ready to dive in? Let’s get started!
To achieve our goal, we’ll need three key methods within our class:
add_student(name, grade): Adds a new student and their grade to the list. If the student already exists, their grade will be updated.get_grade(name): Retrieves the grade for a student by their name. If the student isn’t found, it returnsnil.remove_student(name): Removes a student from the list by their name. It returnstrueif the student was successfully removed andfalseif the student doesn’t exist.
Sound straightforward? Fantastic! Let’s walk through each method step-by-step.
First, we’ll define our StudentManager class, which will use an array to manage students and their grades.
The add_student method adds a new student or updates an existing student’s grade.
- We use
each_with_indexto loop through@students. - If we find a student with the same name, we update their grade.
- If not, we add a new array
[name, grade]to the list.
Why check if the student already exists? Correct, to prevent duplicate entries and ensure data consistency!
The get_grade method finds and returns the grade for a student by their name.
This method works by:
- Looping through
@students. - Returning the grade if a matching name is found.
- Returning
nilif the student is not found.
Can you think of situations where a student might not be found? Right — they might be new students, or there could be a typo in their name.
