تعديل الـ Hashes
جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 75 من 88.
لا تبقى جداول التجزئة ثابتة بعد إنشائها. يمكنك إضافة أزواج مفتاح-قيمة جديدة، وتحديث القيم الموجودة، وإزالة المدخلات أثناء تشغيل برنامجك.
لإضافة زوج جديد أو تحديث قيمة موجودة، أسند قيمة إلى المفتاح باستخدام الأقواس المربعة:
person = {"name" => "Alice", "age" => 25}
person["city"] = "Paris" # يضيف زوجًا جديدًا من المفتاح والقيمة
person["age"] = 26 # يحدّث القيمة الموجودة
puts person # الناتج: {"name"=>"Alice", "age"=>26, "city"=>"Paris"}إذا كان المفتاح موجودًا، فسيُستبدلَت قيمته. وإذا لم يكن موجودًا، فسيُضاف زوج جديد إلى التجزئة.
لإزالة زوج مفتاح-قيمة، استخدم الطريقة delete مع المفتاح الذي تريد إزالته:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
person.delete("city")
puts person # يُخرج: {"name"=>"Alice", "age"=>25}تعيد الطريقة delete القيمة التي أُزيلت، وقد يكون ذلك مفيدًا إذا احتجت إلى استخدامها:
person = {"name" => "Alice", "age" => 25}
removed_age = person.delete("age")
puts removed_age # يُخرج: 25إذا حاولت حذف مفتاح غير موجود، فستُرجع Ruby ببساطة nil دون إثارة خطأ.
التحدي
سهلاقرأ أربعة أسطر من الإدخال:
- اسم طالب (سلسلة نصية)
- درجة أولية (عدد صحيح)
- درجة جديدة للتحديث (عدد صحيح)
- زوج جديد من مفتاح وقيمة بالتنسيق
key:value(مثلًا،subject:Math)
أنشئ تجزئة باسم student تحتوي على أزواج المفتاح والقيمة الأولية التالية:
- اربط
"name"باسم الطالب - اربط
"grade"بالدرجة الأولية (كعدد صحيح)
ثم أجرِ التعديلات التالية:
- حدّث المفتاح
"grade"بقيمة الدرجة الجديدة - أضف زوجًا جديدًا من مفتاح وقيمة باستخدام المفتاح والقيمة من الإدخال الرابع (يجب أن تظل القيمة سلسلة نصية)
- احذف المفتاح
"name"من التجزئة وخزّن القيمة المحذوفة
اطبع الاسم المحذوف في السطر الأول، ثم اطبع التجزئة النهائية في السطر الثاني.
على سبيل المثال، إذا كانت المدخلات هي Alice و85 و92 وsubject:Math، فيجب أن يكون الناتج:
Alice
{"grade"=>92, "subject"=>"Math"}إذا كانت المدخلات هي Bob و70 و75 وstatus:passing، فيجب أن يكون الناتج:
Bob
{"grade"=>75, "status"=>"passing"}إذا كانت المدخلات هي Charlie و100 و95 وnote:excellent، فيجب أن يكون الناتج:
Charlie
{"grade"=>95, "note"=>"excellent"}جرّب بنفسك
# اقرأ المدخلات
name = gets.chomp
initial_grade = gets.to_i
new_grade = gets.to_i
key_value_pair = gets.chomp
# TODO: اكتب الشيفرة أدناه
# 1. أنشئ جدول تجزئة باسم 'student' يحتوي على المفتاحين "name" و"grade"
# 2. حدّث المفتاح "grade" بقيمة التقدير الجديدة
# 3. حلّل key_value_pair وأضفه إلى جدول التجزئة
# 4. احذف المفتاح "name" وخزّن القيمة المحذوفة
# اطبع الاسم المحذوف
puts removed_name
# اطبع جدول التجزئة النهائي
puts studentيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت