גישה לאיברים במילון
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 74 מתוך 88.
עכשיו, כשאתה יודע ליצור טבלאות גיבוב, עליך לשלוף את הערכים המאוחסנים בתוכן. בניגוד למערכים, שבהם משתמשים באינדקסים מספריים, בטבלאות גיבוב משתמשים במפתחות כדי לגשת לערכים שלהן.
הצב את המפתח בתוך סוגריים מרובעים כדי לקבל את הערך המתאים לו:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # פלט: Alice
puts person["age"] # פלט: 25המפתח חייב להתאים בדיוק למפתח שבו השתמשת בעת יצירת הגיבוב. אם תנסה לגשת למפתח שאינו קיים, Ruby תחזיר nil:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # פלט: (כלום - nil)אפשר גם להשתמש בשיטה fetch, שמאפשרת לספק ערך ברירת מחדל כאשר המפתח חסר:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # פלט: Alice
puts person.fetch("country", "Unknown") # פלט: Unknownהדבר שימושי כשרוצים לטפל במפתחות חסרים בצורה חלקה במקום לקבל nil.
אתגר
קלקרא ארבע שורות קלט:
- שם מוצר (מחרוזת)
- מחיר (מספר ממשי)
- כמות במלאי (מספר שלם)
- מפתח לחיפוש (מחרוזת)
צור hash בשם product עם זוגות המפתח-ערך הבאים:
"name"ממופה לשם המוצר"price"ממופה למחיר (כמספר ממשי)"stock"ממופה לכמות (כמספר שלם)
לאחר מכן, השתמש בשיטה fetch כדי לאחזר את הערך של המפתח שסופק בקלט הרביעי. אם המפתח לא קיים, השתמש ב-"<code>Not found" כערך ברירת המחדל. הדפס את התוצאה.
לדוגמה, אם הקלט הוא Laptop, 999.99, 15 ו-price, הפלט צריך להיות:
999.99אם הקלט הוא Keyboard, 49.99, 100 ו-name, הפלט צריך להיות:
Keyboardאם הקלט הוא Mouse, 29.99, 50 ו-color, הפלט צריך להיות:
Not foundאם הקלט הוא Monitor, 299.0, 8 ו-stock, הפלט צריך להיות:
8נסו בעצמכם
# קראו את הקלט
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp
# TODO: כתבו את הקוד שלכם למטה
# צרו hash בשם 'product' עם המפתחות "name", "price" ו-"stock"
# לאחר מכן השתמשו במתודה fetch כדי לקבל את הערך עבור key_to_lookup
# השתמשו בטקסט המדויק מההוראות כערך ברירת המחדל אם המפתח לא קיים
# הדפיסו את התוצאה
puts resultהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין