Menu
CoddyTech

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

חלק מהיחידה יסודות במסלול ה-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 אונליין