Menu
Coddy logo textTech

יצירת מילונים

חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 73 מתוך 88.

מערכים מצוינים לאחסון רשימות מסודרות, אבל לפעמים צריך לשייך ערכים לתוויות מסוימות במקום לאינדקסים מספריים. גיבוב מאחסן נתונים כזוגות מפתח-ערך, כאשר כל מפתח מצביע לערך המתאים לו.

כדי ליצור גיבוב, השתמשו בסוגריים מסולסלים, כשהמפתחות והערכים מופרדים באמצעות => (שנקרא חץ גיבוב):

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

puts person  # פלט: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}

כל מפתח חייב להיות ייחודי בתוך הגיבוב, אבל ערכים יכולים לחזור על עצמם. מפתחות וערכים יכולים להיות מכל סוג נתונים, כולל מחרוזות, מספרים או אפילו מערכים.

אפשר גם ליצור hash ריק ולהוסיף זוגות מאוחר יותר:

scores = {}

puts scores  # פלט: {}

Hashes מושלמים לייצוג אובייקטים מהעולם האמיתי עם מאפיינים בעלי שמות, כמו מוצר עם שם ומחיר, או משתמש עם כתובת דוא״ל וסיסמה. בניגוד למערכים שבהם צריך לזכור מיקומים, hashes מאפשרים לך להשתמש בשמות משמעותיים כדי לארגן את הנתונים שלך.

challenge icon

אתגר

קל

קראו שלוש שורות קלט:

  1. כותרת של ספר (מחרוזת)
  2. שם המחבר (מחרוזת)
  3. שנת פרסום (מספר שלם)

צרו hash בשם book עם שלושה זוגות מפתח-ערך באמצעות תחביר hash rocket (=>):

  • "title" ממופה לכותרת הספר
  • "author" ממופה לשם המחבר
  • "year" ממופה לשנת הפרסום (כמספר שלם)

הדפיסו את ה-hash באמצעות 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: צור hash בשם 'book' עם שלושה זוגות מפתח-ערך באמצעות תחביר hash rocket (=>)
# המפתחות צריכים להיות: "title", "author", "year"


# הדפס את ה-hash
puts book
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Ruby אונליין