Menu
CoddyTech

סמלים כמפתחות במילון

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

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

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

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

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

שימו לב כיצד name: מחליף את :name =>. הקיצור הזה פועל רק כשהמפתח הוא סמל. כדי לגשת לערכים, השתמשו בסמל עם סוגריים מרובעים:

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

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

הוספה ושינוי של רשומות פועלים באותו אופן:

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

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

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

challenge icon

אתגר

קל

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

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

צור hash בשם car באמצעות תחביר הקיצור של סמלים (לדוגמה, key: value) עם צמדי המפתח-ערך הבאים:

  • :brand ממופה למותג המכונית
  • :model ממופה לשם הדגם
  • :year ממופה לשנה (כמספר שלם)

לאחר מכן בצע את הפעולות הבאות:

  1. הדפס את הערך של המפתח :model
  2. הוסף מפתח חדש :color עם הערך "black"
  3. עדכן את המפתח :year על ידי הוספת 1 לערך הנוכחי שלו
  4. הדפס את ה-hash הסופי

לדוגמה, אם הקלט הוא Toyota, Camry ו-2020, הפלט צריך להיות:

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

אם הקלט הוא Honda, Civic ו-2018, הפלט צריך להיות:

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

אם הקלט הוא Ford, Mustang ו-2023, הפלט צריך להיות:

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

נסו בעצמכם

# קראו את הקלט
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: כתבו את הקוד שלכם למטה
# 1. צרו hash בשם 'car' באמצעות תחביר מקוצר של סמלים, עם המפתחות :brand, :model ו־:year

# 2. הדפיסו את הערך של המפתח :model

# 3. הוסיפו מפתח חדש :color עם הערך "black"

# 4. עדכנו את המפתח :year על ידי הוספת 1 לערכו הנוכחי

# 5. הדפיסו את ה־hash הסופי
quiz iconבחנו את עצמכם

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

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

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