[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.27,0:00:04.24,Default,,0000,0000,0000,,חזרנו, עם תוכנה שמדפיסה את מערך החברים שלי. Dialogue: 0,0:00:04.24,0:00:07.01,Default,,0000,0000,0000,,אבל יש משהו שממש מעצבן אותי לגביה. Dialogue: 0,0:00:07.01,0:00:11.30,Default,,0000,0000,0000,,בכל פעם שאני מוסיפה חבר חדש למערך, אני צריכה להוסיף פקודת text כאן למטה. Dialogue: 0,0:00:11.30,0:00:13.38,Default,,0000,0000,0000,,בואו נאמר שאני מוסיפה את ווינסטון. Dialogue: 0,0:00:13.38,0:00:15.21,Default,,0000,0000,0000,,ובכן, הוא לא מופיע אוטומטית. Dialogue: 0,0:00:15.21,0:00:20.78,Default,,0000,0000,0000,,אם אני רוצה שהוא יופיע, אני צריכה לכתוב text(myFriends[3], ואז לשנות את המיקום בציר ה-y, ואז אנו רואים את ווינסטון. Dialogue: 0,0:00:23.63,0:00:25.41,Default,,0000,0000,0000,,זה הרבה יותר מדי עבודה! Dialogue: 0,0:00:25.52,0:00:30.77,Default,,0000,0000,0000,,אני רק רוצה שבכל פעם שאני מוסיפה מישהו למערך, שורת הקוד תתבצע אוטומטית. Dialogue: 0,0:00:31.94,0:00:34.74,Default,,0000,0000,0000,,ובכן, אתם זוכרים שכלמדנו לולאות? Dialogue: 0,0:00:34.74,0:00:38.38,Default,,0000,0000,0000,,לולאות היו דרך מעולה לחזור על אותו קטע קוד פעמים רבות ברצף. Dialogue: 0,0:00:38.38,0:00:43.27,Default,,0000,0000,0000,,למשל, אם רצינו לקבל אוסף עצים או בלונים ברצף. Dialogue: 0,0:00:43.27,0:00:49.63,Default,,0000,0000,0000,,ובכן, מסתבר שלולאות הן גם דרך מעולה להריץ קטע קוד מסוים על כל איבר במערך. Dialogue: 0,0:00:49.63,0:00:57.38,Default,,0000,0000,0000,,למעשה, אתם תשתמשו בלולאה כמעט בכל פעם שתשתמשו במערך. הם עובדים מצוין יחד. Dialogue: 0,0:00:57.38,0:01:03.74,Default,,0000,0000,0000,,בואו נשתמש בלולאה כדי להציג את השמות של החברים שלי, במקום כל השורות האלו עם פקודות text, כדי שתראו למה אני מתכוונת. Dialogue: 0,0:01:03.74,0:01:07.80,Default,,0000,0000,0000,,נתחיל עם שלוש שאלות שאנחנו תמיד שואלים את עצמנו כשאנחנו כותבים לולאה. Dialogue: 0,0:01:07.80,0:01:13.44,Default,,0000,0000,0000,,ראשית, על מה אני רוצה לחזור? ובכן, הסתכלו על הקוד כאן למעלה. מה חוזר על עצמו? פקודת ה-text. Dialogue: 0,0:01:13.44,0:01:26.07,Default,,0000,0000,0000,,מה אני רוצה שיהיה שונה בכל פעם? בואו נסתכל ונראה מה שונה. מיקום ה-y, והאינקס הנוכחי במערך, נכון? אז את מספר החבר ואת מיקום ה-y. Dialogue: 0,0:01:26.07,0:01:33.57,Default,,0000,0000,0000,,וכמה פעמים עלינו לחזור על הפעולה? נמשיך לחזור עד שלא יהיו יותר חברים במערך. Dialogue: 0,0:01:33.57,0:01:37.44,Default,,0000,0000,0000,,אז עכשיו אנחנו יודעים מה אנחנו רוצים, ואנחנו יכולים ליצור את הלולאה. Dialogue: 0,0:01:37.44,0:01:44.38,Default,,0000,0000,0000,,נתחיל עם משתנה מונה (counter) כדי לעקוב איפה אנחנו בלולאה. אז נכתוב: 'var friendNum=0;' Dialogue: 0,0:01:44.38,0:01:50.47,Default,,0000,0000,0000,,אנחנו נתחיל מ-0, כי כפי שאתם זוכרים, 0 הוא האיבר הראשון במערך, לא 1. Dialogue: 0,0:01:50.55,0:01:57.77,Default,,0000,0000,0000,,אחרי זה יש לנו את לולאת ה-while שלנו. נכתוב: 'while(friendNum < my friends.length)' Dialogue: 0,0:01:57.77,0:02:04.46,Default,,0000,0000,0000,,אנחנו הולכים להשוות את ערך המונה הנוכחי עם המספר הכולל של איברים במערך. Dialogue: 0,0:02:04.46,0:02:07.87,Default,,0000,0000,0000,,בתוך הלולואה, זה איפה שנשתמש בפקודת ה-text. Dialogue: 0,0:02:08.07,0:02:13.46,Default,,0000,0000,0000,,נכתוב: 'text(myFriends[' ואז כאן, במקום מספר, נרשום 'friendNum', כי friendNum מייצג את המספר הנוכחי. Dialogue: 0,0:02:13.46,0:02:17.96,Default,,0000,0000,0000,,וכרגע נרשום רק מיקום אחד. Dialogue: 0,0:02:17.96,0:02:25.71,Default,,0000,0000,0000,,קיבלנו שגיאת לולאה אינסופית, כי לא שינינו את friendNum במהלך הלולאה. Dialogue: 0,0:02:25.71,0:02:30.23,Default,,0000,0000,0000,,זכרו, אנחנו צריכים להגדיל את friendNum בכל פעם, אחרת הלולאה תמשיך לנצח, כי התנאי שלה תמיד יהיה נכון. Dialogue: 0,0:02:34.75,0:02:39.27,Default,,0000,0000,0000,,אני רואה שמשהו קרה. תנו לי רק להפוך את הקוד הישן להערה כדי שאוכל לראות מה הקוד החדש באמת עושה. Dialogue: 0,0:02:39.27,0:02:43.61,Default,,0000,0000,0000,,מה שקרה הוא שהראנו את כל השמות, אבל הם כולם אחד על השני. Dialogue: 0,0:02:43.61,0:02:45.71,Default,,0000,0000,0000,,אז אנחנו צריכים לשנות את מיקום ה-y שלנו. Dialogue: 0,0:02:45.71,0:02:50.21,Default,,0000,0000,0000,,בואו פשוט נכתוב: 'friendNum*30'. Dialogue: 0,0:02:50.21,0:02:55.13,Default,,0000,0000,0000,,אוקיי, זה טוב, אבל סופיה מחוץ למסך, וסופיה לא תהיה מרוצה אם היא תגלה את זה. Dialogue: 0,0:02:55.13,0:02:59.63,Default,,0000,0000,0000,,אז בואו פשוט נוסיף לזה 30. עכשיו הם כולם מוזזים ב-30. Dialogue: 0,0:02:59.63,0:03:04.29,Default,,0000,0000,0000,,יפה! אז עכשיו אתם רואים שיש לנו לולאה שמציגה את המערך שלנו. Dialogue: 0,0:03:04.29,0:03:13.57,Default,,0000,0000,0000,,וזה אומר שאם נוסיף עוד אנשים, כמו OhNoesGuy או Sal - אם אני רק אוסיף אותו למערך, אז Sal יוצג בתור חבר שלי. מצוין! עכשיו הוא חבר שלי. Dialogue: 0,0:03:13.57,0:03:21.27,Default,,0000,0000,0000,,ואתם רואים שזה אוטומטית מציג חברים חדשים כי זה תמיד עובר על כל המערך. Dialogue: 0,0:03:21.27,0:03:24.30,Default,,0000,0000,0000,,נוכל למחוק את הקוד הישן שלנו. אנחנו לא זקוקים לו עוד. Dialogue: 0,0:03:24.30,0:03:28.24,Default,,0000,0000,0000,,בואו נעבור על הקוד הזה כאן ונבין מה הוא עושה. Dialogue: 0,0:03:28.24,0:03:31.63,Default,,0000,0000,0000,,אנחנו מתחילים עם friendNum שווה לאפס. Dialogue: 0,0:03:31.63,0:03:34.67,Default,,0000,0000,0000,,אנחנו בודקים אם friendNum קטן מהאורך הנוכחי [של המערך]. Dialogue: 0,0:03:34.67,0:03:37.84,Default,,0000,0000,0000,,כפי שאתם חושבים, 0 קטן מ-6, אז התנאי הוא נכון. Dialogue: 0,0:03:37.84,0:03:41.71,Default,,0000,0000,0000,,אנו נכנסים לתוך הלולאה, ואז כתוב text(myFriends[friendNum]... Dialogue: 0,0:03:41.71,0:03:44.29,Default,,0000,0000,0000,,זה יהיה myFriends במקום ה-0, בפעם הראשונה. Dialogue: 0,0:03:44.29,0:03:47.30,Default,,0000,0000,0000,,ואז 30, ועוד אפס כפול 30. Dialogue: 0,0:03:47.30,0:03:53.71,Default,,0000,0000,0000,,אז זה מציג את סופיה במיקום (10,30). זה מה שזה עושה. Dialogue: 0,0:03:53.71,0:03:56.30,Default,,0000,0000,0000,,ואז friendNum++. עכשיו הערך הוא 1. Dialogue: 0,0:03:56.30,0:04:00.27,Default,,0000,0000,0000,,ואז אנחנו חוזרים חזרה והקוד בודק - האם 1 קטן מהאורך של myFriends? כן, הוא קטן יותר. Dialogue: 0,0:04:00.36,0:04:02.40,Default,,0000,0000,0000,,וזה ממשיך, ממשיך, וממשיך. Dialogue: 0,0:04:02.49,0:04:10.96,Default,,0000,0000,0000,,לבסוף אנחנו מגיעים ל-Sal. זכרו, Sal הוא למעשה האיבר השישי במערך, אבל מספר האינדקס שלו הוא 5, כי מתחילים לספור מאפס. Dialogue: 0,0:04:11.03,0:04:13.30,Default,,0000,0000,0000,,האם 5 קטן מ-6? כן. Dialogue: 0,0:04:13.30,0:04:15.46,Default,,0000,0000,0000,,אז זה מציג את myFriends במקום ה-5. Dialogue: 0,0:04:15.46,0:04:21.63,Default,,0000,0000,0000,,ואז ה-counter (מונה) הופך ל-6, ואנחנו שואלים: האם 6 קטן מ-6? לא. הם שווים. Dialogue: 0,0:04:21.63,0:04:25.44,Default,,0000,0000,0000,,התנאי יהיה שקר. אז זה לא לעולם לא יציג את האיבר השישי, Dialogue: 0,0:04:25.44,0:04:29.27,Default,,0000,0000,0000,,מה שטוב, כי אין שום דבר באינדקס 6. Dialogue: 0,0:04:29.27,0:04:32.77,Default,,0000,0000,0000,,יש איבר שישי, אבל לא אינקדס מספר 6. Dialogue: 0,0:04:32.77,0:04:38.57,Default,,0000,0000,0000,,זה יכול להיות ממש מבלבל, העובדה ש-0 הוא האיבר הראשון וכל זה, אבל אתם תתפסו את זה. Dialogue: 0,0:04:38.57,0:04:41.40,Default,,0000,0000,0000,,אוקיי, זו הלולאה שלנו. Dialogue: 0,0:04:41.40,0:04:45.04,Default,,0000,0000,0000,,עכשיו, אם תרצו, אתם יכולים להשתמש גם בלולאת for אם אתם מעדיפים לולאות for. Dialogue: 0,0:04:45.04,0:04:52.21,Default,,0000,0000,0000,,במקרה של לולאות for, אנחנו נכתוב פשוט: for, ואז var friendNum שווה ל-0. Dialogue: 0,0:04:52.21,0:04:57.24,Default,,0000,0000,0000,,ואז יש לנו את התנאי שלנו - friendNum קטן מ-myFriends.length Dialogue: 0,0:04:57.24,0:05:01.67,Default,,0000,0000,0000,,ואז את פעולת הקידום: 'friendNum++' Dialogue: 0,0:05:01.67,0:05:06.71,Default,,0000,0000,0000,,ואז בתוך לולאת ה-for, אנחנו פשוט שמים את שורת הקוד הזאת. Dialogue: 0,0:05:06.71,0:05:09.71,Default,,0000,0000,0000,,ואני רק אשנה את מיקום ה-x כדי שתוכלו לראות Dialogue: 0,0:05:09.71,0:05:13.71,Default,,0000,0000,0000,,שזה עושה בדיוק את אותו הדבר. זה תלוי בכם באיזה מהם להשתמש, אבל הנקודה היא להשתמש בלולאה עם המערכים שלכם, כי זה נותן לכם הרבה כוח.