Menu
Coddy logo textTech

שינוי מילונים

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

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

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

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

person["city"] = "Paris"      # מוסיף זוג מפתח-ערך חדש
person["age"] = 26            # מעדכן ערך קיים

puts person  # מציג פלט: {"name"=>"Alice", "age"=>26, "city"=>"Paris"}

אם המפתח קיים, הערך מוחלף. אם הוא לא קיים, מתווסף זוג חדש לגיבוב.

כדי להסיר זוג מפתח-ערך, השתמשו במתודה delete עם המפתח שברצונכם להסיר:

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

person.delete("city")

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

המתודה delete מחזירה את הערך שהוסר, וזה עשוי להיות שימושי אם צריך להשתמש בו:

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

removed_age = person.delete("age")

puts removed_age  # פלט: 25

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

challenge icon

אתגר

קל

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

  1. שם של תלמיד (מחרוזת)
  2. ציון התחלתי (מספר שלם)
  3. ציון חדש לעדכון (מספר שלם)
  4. זוג מפתח-ערך חדש בפורמט key:value (לדוגמה, subject:Math)

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

  • "name" ממופה לשם התלמיד
  • "grade" ממופה לציון ההתחלתי (כמספר שלם)

לאחר מכן בצעו את השינויים הבאים:

  1. עדכנו את המפתח "grade" עם ערך הציון החדש
  2. הוסיפו זוג מפתח-ערך חדש באמצעות המפתח והערך מהקלט הרביעי (הערך צריך להישאר מחרוזת)
  3. מחקו את המפתח "name" מה-hash ושמרו את הערך שהוסר

הדפיסו את השם שהוסר בשורה הראשונה, ולאחר מכן הדפיסו את ה-hash הסופי בשורה השנייה.

לדוגמה, אם הקלט הוא Alice, 85, 92 ו-subject:Math, הפלט צריך להיות:

Alice
{"grade"=>92, "subject"=>"Math"}

אם הקלט הוא Bob, 70, 75 ו-status:passing, הפלט צריך להיות:

Bob
{"grade"=>75, "status"=>"passing"}

אם הקלט הוא Charlie, 100, 95 ו-note:excellent, הפלט צריך להיות:

Charlie
{"grade"=>95, "note"=>"excellent"}

נסו בעצמכם

# קראו את הקלט
name = gets.chomp
initial_grade = gets.to_i
new_grade = gets.to_i
key_value_pair = gets.chomp

# TODO: כתבו את הקוד שלכם למטה
# 1. צרו hash בשם 'student' עם המפתחות "name" ו-"grade"
# 2. עדכנו את המפתח "grade" בערך הציון החדש
# 3. פענחו את key_value_pair והוסיפו אותו ל-hash
# 4. מחקו את המפתח "name" ושמרו את הערך שהוסר

# הדפיסו את השם שהוסר
puts removed_name
# הדפיסו את ה-hash הסופי
puts student
quiz iconבחנו את עצמכם

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

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

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