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

إضافة درجة

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

الآن قم بتوسيع النظام باستخدام طريقة add_grade. فهي تقوم بإضافة درجة رقمية إلى مصفوفة :grades الخاصة بالطالب، طالما أن الطالب موجود.

إذا لم يكن الاسم موجوداً في السجلات، فقم بالإبلاغ عن ذلك واخرج.

challenge icon

التحدي

سهل

احتفظ بـ hash الخاص بـ $student_records و add_student من الدرس السابق. أضف طريقة (method) باسم add_grade(name, grade) تقوم بما يلي:

  1. تطبع Student '<name>' not found. إذا كان الاسم غير موجود، ثم تخرج (returns).
  2. بخلاف ذلك، تقوم بإضافة grade إلى مصفوفة :grades الخاصة بالطالب وتطبع Grade <grade> added for '<name>'.

استبدل كتلة الاختبار في الأسفل بـ:

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_grade("Alice", 90)
add_grade("Alice", 85)
add_grade("Bob", 75)
add_grade("Charlie", 80)
puts $student_records.inspect

المخرجات المتوقعة:

Student 'Alice' added.
Student 'Bob' added.
Grade 90 added for 'Alice'.
Grade 85 added for 'Alice'.
Grade 75 added for 'Bob'.
Student 'Charlie' not found.
{"Alice"=>{:age=>20, :grades=>[90, 85], :courses=>["Math", "Physics"]}, "Bob"=>{:age=>22, :grades=>[75], :courses=>["Biology", "Chemistry"]}}

جرّب بنفسك

$student_records = {}

def add_student(name, age, courses)
  if $student_records.key?(name)
    puts "Student '#{name}' already exists."
    return
  end
  $student_records[name] = { age: age, grades: [], courses: courses }
  puts "Student '#{name}' added."
end

# مهام: def add_grade(name, grade)

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_grade("Alice", 90)
add_grade("Alice", 85)
add_grade("Bob", 75)
add_grade("Charlie", 80)
puts $student_records.inspect
quiz iconاختبر نفسك

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

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

تدرّب بنفسك: مترجم Ruby عبر الإنترنت