Menu
Coddy logo textTech

גישה לאיברים במילון

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

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

הצב את המפתח בתוך סוגריים מרובעים כדי לקבל את הערך המתאים לו:

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

puts person["name"]  # פלט: Alice
puts person["age"]   # פלט: 25

המפתח חייב להתאים בדיוק למפתח שבו השתמשת בעת יצירת הגיבוב. אם תנסה לגשת למפתח שאינו קיים, Ruby תחזיר nil:

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

puts person["country"]  # פלט: (כלום - nil)

אפשר גם להשתמש בשיטה fetch, שמאפשרת לספק ערך ברירת מחדל כאשר המפתח חסר:

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

puts person.fetch("name", "Unknown")     # פלט: Alice
puts person.fetch("country", "Unknown")  # פלט: Unknown

הדבר שימושי כשרוצים לטפל במפתחות חסרים בצורה חלקה במקום לקבל nil.

challenge icon

אתגר

קל

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

  1. שם מוצר (מחרוזת)
  2. מחיר (מספר ממשי)
  3. כמות במלאי (מספר שלם)
  4. מפתח לחיפוש (מחרוזת)

צור hash בשם product עם זוגות המפתח-ערך הבאים:

  • "name" ממופה לשם המוצר
  • "price" ממופה למחיר (כמספר ממשי)
  • "stock" ממופה לכמות (כמספר שלם)

לאחר מכן, השתמש בשיטה 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 אונליין