
for עם key, value נותנת את המפתח ואת הערך בכל איטרציה.הטקסט המלא של הדקות הראשונות בהרצאה «מילון - Dictionary - שפת Swift» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים אנחנו רוצים ללמוד היום בשיעור על מבנה נתונים נוסף וחשוב שנקרא Dictionary או בעברית מילון ומילון בעצם מהווה כמו שנראה בסרטון אוסף של מפתחות וערכים אז בואו נראה מה זה מילון מילון הוא בעצם כמו שאתם מכירים מהחיים האמיתיים אוסף של מפתח וערך
לדוגמה אם אני אחפש במילון אנגלי עברית המילה אורקיד אז אני אמצא שם את התשובה סחל"ו ועבור כל מפתח נוכל למצוא ערך מתאים בסדר למפתחות הרבה פעמים אנחנו קוראים key ולערך אנחנו קוראים לו value בוא ניתן עוד דוגמא נניח אם אני מחפש במילון עברי עברי אני מחפש את הערך
של אותו סחל"ו אז במילון הערך יהיה מין פרח נכון מין פרח ממשפחת כך וכך אוקיי, אז יש לי מפתח, ערך, מפתח, ערך. המפתח לא חייב להיות סטרינג, הוא יכול להיות גם מספר. בואו ניתן דוגמא.
נניח יש לי מילון שמכיל בפנים מספר, נניח 65, ונכניס את האות A. עבור המפתח 66 נכניס את האות B. בואו נראה עוד כמה דוגמאות. רשימת קניות של פירות שאני רוצה לקנות, בסדר?
אז אני יכול להגדיר לעצמי שאני רוצה לקנות כך וכך תפוחים, ואני רוצה לקנות גם כמה עגבניות, ולסיום אני רוצה לקנות אולי גם ארבעה בצלים. אני אקרא לרשימה הזאת רשימת שוק.
כמו שאתם יכולים להתרשם אז זה פשוט נקרא מערך אסוציאטיבי, וזה מבנה נתונים מאוד נחמד בגלל שהוא כיפי לשימוש, בסדר?
זה יותר קל מאשר להגדיר מערך ויותר מתאים למקרים מסוימים. באיזה מקרים אנחנו נעדיף להשתמש בדיקשנריס, במילונים? ברגע שאני רוצה לחפש לפי המפתח.
אם אני רוצה לדעת כמה תפוחים אני צריך לקנות, כל מה שאני צריך לעשות זה להדפיס את השוק במקום התפוחים. עכשיו, אם קיים ערך אז זה ידפיס לי 10, אחרת שידפיס לי 0 בגלל שכנראה לא התכוונתי לקנות תפוחים.
נכון זוכרים את הניל קואלסינג הדיקשנרי במקום האפלס לא בהכרח מחזיר ערך כי אם אני אשאל מה הדיקשנרי אומר במקרה של בוא נאמר קוראים למילון שלי שוק נכון בוא נראה אם אני אשאל כמה עליי לקנות משהו שלא קיים שם בכלל נגיד כמה עליי לקנות תמרים אז התשובה תהיה אין תמרים נכון יש פה בעיה עם נילים סוויפט מגנה עליי ועוזרת לוודא באמת שיש תמרים במילון
אחרת היא מכריחה אותי פה להדפיס משהו במקום שזה פשוט ככה מצוין. אז לגבי מילונים ראינו הגדרה של מילון בצורה הזאת בסינטקס המקוצר להגדיר מילון, וראינו איך לגשת לאיברים אחרי שהם כבר קיימים במילון, נכון?
אז ראינו איך אפשר לקרוא ממילון ואיך אפשר להגדיר מילון בסינטקס המקוצר להגדיר dictionary. עכשיו אנחנו רוצים ללמוד איך להגדיר מילון לא בסינטקס המקוצר.
אם אנחנו רוצים להתחיל מילון ריק אנחנו נצטרך להכריז על הטייפ בואו נגדיר איזשהו מילון המפתח שלו יהיה סטרינג וגם הערך שלו יהיה סטרינג רוב המילונים הם כאלה למען האמת וכאן אנחנו פשוט יכולים להתחיל את זה כדיקשנרי חדש או בסינטקס הזה כאן זה כמו ניו דיקשנרי יש לנו מספר סינטקסים כמו קודם אז בואו נדגים עוד כמה אפשרויות
דיקט אחד יהיה שווה פשוט לדבר הזה חדש בוא נראה ככה יפה ודיקט שתיים אנחנו יכולים גם לומר דיקשנרי של סטרינג פסיק סטרינג חדש אוקיי אז אם אנחנו רוצים להתחיל דיקשנרי אפשר בהחלט להתחיל אותו באחת מהווריאציות שהדגמתי כאן בנוסף לסינטקס הנוח ביותר הסינטקס המקוצר שלא תמיד הוא מתאים אז בואו נמשיך הלאה, ראינו איך מתחילים דיקשנרי
חדש. אנחנו רוצים לדעת לרוץ על דיקשנרי, בעצם בלולאה, iterate over a dictionary. איך נעשה את זה?
האמת היא שסוויפט מכסה את הדבר הזה מצוין בלולאות שלה, עבור key, פסיק, value מתוך, בואו נעשה כאן סוגריים, מתוך המערך של השוק, תעשה.
אוקיי? עכשיו בואו נדפיס את המפתח, אפשר כמובן גם להדפיס את ה-value, אוקיי? אז האיתרציות הן נורא נורא פשוטות וכיפיות סביב הנושא של dictionaries, כמו שאתם יכולים לראות.
ראינו איך גם אפשר לגשת, אם אנחנו לא רוצים לעשות איתרציה אלא לגשת למקום מסוים, אז גם כן ראינו. וכאן אנחנו פשוט רצים על