שינוי מילונים
חלק מהיחידה יסודות במסלול ה-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 בלי להעלות שגיאה.
אתגר
קלקראו ארבע שורות קלט:
- שם של תלמיד (מחרוזת)
- ציון התחלתי (מספר שלם)
- ציון חדש לעדכון (מספר שלם)
- צמד מפתח-ערך חדש בפורמט
key:value(לדוגמה,subject:Math)
צרו hash בשם student עם צמדי המפתח-ערך ההתחלתיים הבאים:
"name"ממופה לשם התלמיד"grade"ממופה לציון ההתחלתי (כמספר שלם)
לאחר מכן בצעו את השינויים הבאים:
- עדכנו את המפתח
"grade"בערך הציון החדש - הוסיפו צמד מפתח-ערך חדש באמצעות המפתח והערך מהקלט הרביעי (הערך צריך להישאר מחרוזת)
- מחקו את המפתח
"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השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי11מערכים
יצירת מערכיםגישה לאיברי מערךשינוי מערכיםמתודות של מערכיםחזרה – מערך מכפלותחזרה – מערך הפוךקיצורי דרך למערכים14מילונים (Hashes)
יצירת מילוניםגישה לאיברים במילוןשינוי מילוניםמתודות של מילוןסיכום — מילון מוצריםסמלים כמפתחות במילון3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין