Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

نظرة عامة على المشروع

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy — الدرس 48 من 56.

ستقوم ببناء نظام سجلات طلاب صغير كمجموعة من الطرق (methods) التي تشترك جميعها في هاش متداخل (nested hash) واحد. يختلف هذا النظام في شكله عن مدير المكتبة (Library Manager)، حيث لا توجد حلقة قائمة (menu loop) هذه المرة، بل مجرد دوال (functions) ستستمر في توسيعها.

توجد الحالة في هاش (hash) واحد على المستوى الأعلى:

student_records = {}

سيتم فهرسة كل إدخال بالاسم، مع قيمة hash تتضمن عمر الطالب ودرجاته ودوراته الدراسية:

{
  "Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}

يضيف كل درس طريقة واحدة تعمل على هذا الـ hash: add_student، add_grade، average_grade، list_by_course، top_students.

challenge icon

التحدي

مبتدئ

قم بتهيئة hash فارغ باسم student_records في الجزء العلوي من ملفك. ثم قم بطباعته باستخدام inspect لكي يرى الاختبار:

{}

هذه هي المهمة بأكملها، هذا الدرس يقوم فقط بإعداد الحالة المشتركة لكل ما يلي.

ورقة مرجعية

يستخدم نظام سجلات الطلاب تجزئة (hash) متداخلة واحدة كحالة مشتركة:

student_records = {}

يتم ربط كل إدخال باسم الطالب مع تجزئة تحتوي على age و grades و courses:

{
  "Alice" => { age: 20, grades: [], courses: ["Math", "Physics"] }
}

استخدم inspect لطباعة محتويات التجزئة:

puts student_records.inspect

جرّب بنفسك

# TODO: قم بتهيئة student_records = {} وقم بطباعته باستخدام inspect
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق العمليات