إنشاء الـ Hashes
جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 73 من 88.
تُعدّ المصفوفات رائعة لتخزين القوائم المرتبة، لكنك تحتاج أحيانًا إلى ربط القيم بتسميات محددة بدلًا من الفهارس الرقمية. تخزّن بنية التجزئة البيانات على هيئة أزواج من المفاتيح والقيم، حيث يشير كل مفتاح إلى قيمة مقابلة.
لإنشاء تجزئة، استخدم الأقواس المعقوفة مع مفاتيح وقيم يفصل بينها => (ويُسمى سهم التجزئة):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # المخرجات: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}يجب أن يكون كل مفتاح فريدًا داخل التجزئة، لكن يمكن أن تتكرر القيم. يمكن أن تكون المفاتيح والقيم من أي نوع بيانات، بما في ذلك السلاسل النصية والأعداد وحتى المصفوفات.
يمكنك أيضًا إنشاء تجزئة فارغة وإضافة أزواج إليها لاحقًا:
scores = {}
puts scores # يُخرج: {}تُعدّ جداول التجزئة مثالية لتمثيل الكائنات الواقعية ذات السمات المسماة، مثل منتج له اسم وسعر، أو مستخدم له بريد إلكتروني وكلمة مرور. وعلى عكس المصفوفات التي عليك فيها تذكّر المواضع، تتيح لك جداول التجزئة استخدام أسماء ذات معنى لتنظيم بياناتك.
التحدي
سهلاقرأ ثلاثة أسطر من الإدخال:
- عنوان كتاب (سلسلة نصية)
- اسم المؤلف (سلسلة نصية)
- سنة النشر (عدد صحيح)
أنشئ تجزئة باسم book تتضمن ثلاثة أزواج من المفاتيح والقيم باستخدام صياغة سهم التجزئة (=>):
- اربط
"title"بعنوان الكتاب - اربط
"author"باسم المؤلف - اربط
"year"بسنة النشر (كعدد صحيح)
اطبع التجزئة باستخدام puts.
على سبيل المثال، إذا كانت المدخلات هي Ruby Basics وJane Smith و2023، فيجب أن يكون الناتج:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}إذا كانت المدخلات هي The Great Gatsby وF. Scott Fitzgerald و1925، فيجب أن يكون الناتج:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}إذا كانت المدخلات هي 1984 وGeorge Orwell و1949، فيجب أن يكون الناتج:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}جرّب بنفسك
# اقرأ المدخلات
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: أنشئ جدول تجزئة باسم 'book' يحتوي على ثلاثة أزواج من المفاتيح والقيم باستخدام صيغة سهم التجزئة (=>)
# يجب أن تكون المفاتيح: "title", "author", "year"
# اطبع جدول التجزئة
puts bookيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأتدرّب بنفسك: مترجم Ruby عبر الإنترنت