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

الوصول إلى عناصر الـ Hash

جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 74 من 88.

الآن بعد أن عرفت كيفية إنشاء الـ hashes، فأنت بحاجة إلى retrieve القيم المخزنة بداخلها. بخلاف المصفوفات حيث تستخدم الفهارس الرقمية، تستخدم الـ hashes الـ keys للوصول إلى قيمها.

ضع key داخل أقواس مربعة للحصول على قيمته المقابلة:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

puts person["name"]  # المخرجات: Alice
puts person["age"]   # المخرجات: 25

يجب أن يطابق المفتاح (`key`) تمامًا ما استخدمته عند إنشاء الـ `hash`. إذا حاولت الوصول إلى `key` غير موجود، فإن Ruby ترجع nil:

person = {"name" => "Alice", "age" => 25}

puts person["country"]  # المخرجات: (لا شيء - nil)

يمكنك أيضاً استخدام fetch method، والتي تتيح لك توفير قيمة default عندما يكون key مفقوداً:

person = {"name" => "Alice"}

puts person.fetch("name", "Unknown")     # المخرجات: Alice
puts person.fetch("country", "Unknown")  # المخرجات: Unknown

هذا مفيد عندما تريد التعامل مع المفاتيح المفقودة بسلاسة بدلاً من الحصول على nil.

challenge icon

التحدي

سهل

اقرأ أربعة أسطر من الدخل:

  1. اسم المنتج (string)
  2. السعر (float)
  3. الكمية في المخزون (integer)
  4. مفتاح للبحث عنه (string)

أنشئ hash يُسمى product يحتوي على أزواج المفاتيح والقيم التالية:

  • "name" مرتبط باسم المنتج
  • "price" مرتبط بالسعر (كـ float)
  • "stock" مرتبط بالكمية (كـ integer)

ثم، استخدم الـ method المسماة fetch لاسترجاع قيمة المفتاح المزود في الدخل الرابع. إذا كان المفتاح غير موجود، استخدم "<code>Not found" كقيمة افتراضية. اطبع النتيجة.

على سبيل المثال، إذا كانت المدخلات هي Laptop، و 999.99، و 15، و price، فيجب أن يكون الخرج:

999.99

إذا كانت المدخلات هي Keyboard، و 49.99، و 100، و name، فيجب أن يكون الخرج:

Keyboard

إذا كانت المدخلات هي Mouse، و 29.99، و 50، و color، فيجب أن يكون الخرج:

Not found

إذا كانت المدخلات هي Monitor، و 299.0، و 8، و stock، فيجب أن يكون الخرج:

8

جرّب بنفسك

# اقرأ المدخلات
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp

# TODO: اكتب الكود الخاص بك أدناه
# أنشئ hash يسمى 'product' بالمفاتيح "name" و "price" و "stock"
# ثم استخدم الطريقة fetch لاسترجاع القيمة لـ key_to_lookup
# استخدم النص الدقيق من التعليمات كقيمة افتراضية إذا لم يكن المفتاح موجودًا


# أخرج النتيجة
puts result
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

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