Menu
Coddy logo textTech

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

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

עד כה השתמשת במחרוזות כמפתחות ב-hash באמצעות תחביר חץ ה-hash. עם זאת, מפתחי 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 באמצעות תחביר הקיצור של symbol (לדוגמה, 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 אונליין