1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB אודן: זה סעיף נוח יותר, 3 00:00:13,351 --> 00:00:16,309 אבל זה לא אומר שאם אתה מרגיש שאתה לא יותר נוח 4 00:00:16,309 --> 00:00:18,420 אתה לא תלמד דברים כאן. 5 00:00:18,420 --> 00:00:20,600 אז בואו נתחיל. 6 00:00:20,600 --> 00:00:22,819 האם יש לך שקופיות הולך ישר לתוך דברים. 7 00:00:22,819 --> 00:00:24,360 האם אני עומד פשוט לקחת את זה עכשיו? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 החלפת מחשבים ניידים. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> אליסון: אתה לא רוצה להציג את עצמך, רוב? 12 00:00:32,950 --> 00:00:34,090 >> ROB אודן: אה, אני רוב. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 זה CS50 השנה החמישית שלי TF-ing. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> גבריאל: אני גבריאל. 17 00:00:39,650 --> 00:00:41,610 אני TF ראש CS50. 18 00:00:41,610 --> 00:00:44,009 הייתי TF בשנה שעברה והשנה. 19 00:00:44,009 --> 00:00:46,675 אליסון: ואני אליסון, וזה הוא CS50 TF-ing השנה השני שלי. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB אודן: בסדר, כל כך הדבר הזה בצד השמאל, 22 00:00:50,825 --> 00:00:52,250 אני מקווה שאתה ראית את זה לפני. 23 00:00:52,250 --> 00:00:54,112 אם לא בגללך להוריד אותו בעצמך, 24 00:00:54,112 --> 00:00:55,570 היית צריך לראות את זה בהרצאה. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 אז זה מכשיר CS50, והוא עשה משהו של תיאור שלו 27 00:01:01,320 --> 00:01:01,880 בהרצאה. 28 00:01:01,880 --> 00:01:06,890 אבל בעיקרון זה רק אתה פועלים הפעלה 29 00:01:06,890 --> 00:01:10,550 מערכת ההפעלה שלך בתוך מערכת, כך שנוכל לתת לך 30 00:01:10,550 --> 00:01:12,540 תוכניות ללא צורך לדאוג, הו הוא זה 31 00:01:12,540 --> 00:01:15,989 הולך לעבוד על שניהם Windows ו- Mac, או אם חלק מכם 32 00:01:15,989 --> 00:01:17,280 כבר משתמש בלינוקס, לינוקס. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 אבל זה אמור ל להיות משחק משותף 35 00:01:20,240 --> 00:01:23,010 שדה כל כך לכולם יש אותה סביבה בדיוק. 36 00:01:23,010 --> 00:01:25,344 >> אז אם יש לך לא הוריד כבר את זה, 37 00:01:25,344 --> 00:01:28,510 אתה צריך להוריד אותו, בגלל שאתה תצטרך את זה לסט הבעיה. 38 00:01:28,510 --> 00:01:32,335 וזה שני ג'יגה-בייט להוריד, כך שזה עשוי לקחת זמן מה. 39 00:01:32,335 --> 00:01:33,780 בהרווארד זה ילך מהר. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 מכשיר כל כך CS50. 42 00:01:37,440 --> 00:01:41,980 >> עכשיו בהתחלה, אנחנו הולכים לדבר על סתם חבורה של שורת הפקודה 43 00:01:41,980 --> 00:01:46,880 דברים, וזאת על ידי ש, אני מתכוון לעבוד בסביבה הקטנה הזה כאן. 44 00:01:46,880 --> 00:01:53,230 ושים לב כל דברים אני אומר כאן ועכשיו 45 00:01:53,230 --> 00:01:56,900 הולכים לעבוד אם אתה בתוך מסוף הפנימי של המכשיר, 46 00:01:56,900 --> 00:02:00,790 או אם אתה בתוך חלון מסוף gedit 47 00:02:00,790 --> 00:02:02,090 בתוך המכשיר. 48 00:02:02,090 --> 00:02:03,770 אז סביבות אלו זהות. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> אבל אני הולך ללכת בדרך שלישית. 51 00:02:07,270 --> 00:02:12,200 ושים לב כאן זה כתובת ה- IP קטנה ממש כאן. 52 00:02:12,200 --> 00:02:15,940 אז אין לך לעשות את זה, אבל IP זה 53 00:02:15,940 --> 00:02:19,700 address-- עכשיו אם אני- מלבד זה חסום על ידי הדבר הזה. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 אישור, כך שכתובת ה- IP מעל במסוף 56 00:02:27,000 --> 00:02:31,090 here-- כך מסוף זה מעל כאן הוא מסוף ב- Mac שלי. 57 00:02:31,090 --> 00:02:34,540 אז זה בשום אופן לא כרגע הקשורים למכשיר בכל. 58 00:02:34,540 --> 00:02:39,360 ואם אתה ב- Windows, ואז אתה הולך צריך להוריד משהו 59 00:02:39,360 --> 00:02:44,430 במיוחד עבור זה, בפרט אנשים נוטים להשתמש במרק, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> אז מה אני הולך לעשות הוא להקליד SSH ולאחר מכן שכתובת ה- IP. 61 00:02:50,700 --> 00:02:54,030 ובכן, jharvard שבכתובת ה- IP. 62 00:02:54,030 --> 00:03:00,150 אז 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 הודעה מפחידה זה, להתעלם מזה. 64 00:03:02,127 --> 00:03:02,710 פשוט הקלד את כן. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 זה CS50 בתיבה. 67 00:03:06,030 --> 00:03:07,460 שואל אותו לסיסמא שלך. 68 00:03:07,460 --> 00:03:11,910 >> וכך בהרבה הקשרים אלה שבי הוא מבקש הסיסמה, [לא ברור]. 69 00:03:11,910 --> 00:03:15,670 יש לנו הרבה שאלות שבי זה אומר שזה לא ממש הקלדה. 70 00:03:15,670 --> 00:03:20,011 זה לא מראה לך את התווים של הסיסמה בעת ההקלדה, אם משהו, 71 00:03:20,011 --> 00:03:23,010 לתכונת אבטחה, כי אם מישהו מסתכל על כתף שלך 72 00:03:23,010 --> 00:03:25,870 והם רואים כוכב כוכב כוכב כוכב, אז הם 73 00:03:25,870 --> 00:03:28,640 יודע שהסיסמה שלך הוא ארבע דמויות. 74 00:03:28,640 --> 00:03:32,660 אז הרעיון הוא זה ישאל לך על הסיסמה, הסוג שלך. 75 00:03:32,660 --> 00:03:34,490 זה לא הולך להראות אתה התווים, 76 00:03:34,490 --> 00:03:36,090 אבל זה בעצם לקבל אותם. 77 00:03:36,090 --> 00:03:39,210 במקרה זה, כל פעם שאתה אי פעם לראות בקשת סיסמא 78 00:03:39,210 --> 00:03:42,280 התמודדות עם המכשיר, סיסמא הולכת להיות אדום. 79 00:03:42,280 --> 00:03:43,270 אז ארגמן. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> ועכשיו כאן בתוך זה חלון שהוא ב- Mac שלי, 82 00:03:50,550 --> 00:03:54,120 אני בעצם אני נתקלתי אותה ההשקפה המדויקת 83 00:03:54,120 --> 00:03:57,040 כבתוך של מסוף במכשיר. 84 00:03:57,040 --> 00:03:58,470 אז אתה לא חייב לעשות את זה. 85 00:03:58,470 --> 00:04:01,300 אתה יכול לעשות כל מה שאתה רוצה פנימי של המכשיר. 86 00:04:01,300 --> 00:04:05,140 אני כמעט אף פעם לא באמת עושה שום דבר במכשיר. 87 00:04:05,140 --> 00:04:09,440 אני כמעט תמיד למזער את זה ועכשיו אני עובד SSH למכשיר. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> אם שום דבר, אם אתה יש מחשב איטי יותר, 90 00:04:14,180 --> 00:04:15,820 אתה עשוי להבחין בהבדל. 91 00:04:15,820 --> 00:04:18,839 אני עושה את זה כי אני מעדיף חלון מסוף זה. 92 00:04:18,839 --> 00:04:20,881 יש לו כמה תכונות כמו אני יכול לפצל את החלון, 93 00:04:20,881 --> 00:04:22,672 ועכשיו אני יכול SSH ב באמצעות המכשיר. 94 00:04:22,672 --> 00:04:24,105 יש לי שני SSH קורה בבת אחת. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 אם המחשב שלך הוא איטי במיוחד ואתה עובד במכשיר, 97 00:04:32,250 --> 00:04:35,200 ואתה מבין שזה באמת laggy, מה. 98 00:04:35,200 --> 00:04:38,220 נוטה להיות הרבה יותר מהר אם אתה SSH-ed ב. 99 00:04:38,220 --> 00:04:40,960 אבל חוץ מזה אתה יכול לעבוד בכל מקרה. 100 00:04:40,960 --> 00:04:42,388 >> קהל: מה SSH זה אומר? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB אודן: פגזים מאובטחים, משהו כזה? 103 00:04:47,479 --> 00:04:48,270 מה SSH זה אומר? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 גבריאל: מעטפת מאובטחת. 106 00:04:55,130 --> 00:04:56,463 אליסון: זה פגז רק מאובטח. 107 00:04:56,463 --> 00:04:57,720 ROB אודן: מעטפת מאובטחת. 108 00:04:57,720 --> 00:05:03,700 זה פרוטוקול שyou-- זה פרוטוקול מאובטח, כך מוצפן. 109 00:05:03,700 --> 00:05:06,850 אנשים לא יכולים לחטט ברשת ו לראות מה שאתה אומר לכל דבר 110 00:05:06,850 --> 00:05:08,120 אתה SSH-אד. 111 00:05:08,120 --> 00:05:12,900 ואכן, בההם ימים של CS50, כך בשינה 2009 112 00:05:12,900 --> 00:05:19,300 כשאני היה בכיתה ט ', בדרך ש אתה עבד על סטי בעיה CS50, 113 00:05:19,300 --> 00:05:22,490 היה לך SSH-ED לכמה שרת שנתנו לך גישה ל, 114 00:05:22,490 --> 00:05:23,497 ואתה עבד שם. 115 00:05:23,497 --> 00:05:25,330 אז אתה לא צריך את זה מכשיר גרפי. 116 00:05:25,330 --> 00:05:26,160 לא היה לך gedit. 117 00:05:26,160 --> 00:05:28,930 לא היית כל הדברים האלה ש אתה יכול מבחינה ויזואלית הצבע ולחץ. 118 00:05:28,930 --> 00:05:30,346 אתה היה צריך לעבוד בממשק זה. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 אני מעדיף לעבוד בממשק זה. 121 00:05:33,716 --> 00:05:36,090 אז חלק ממה שאנחנו הולכים להיות הולך על עכשיו 122 00:05:36,090 --> 00:05:39,560 חבורה של פקודות שאתה צריך 123 00:05:39,560 --> 00:05:42,095 תתחיל להכיר כ אתה הולך יחד בקורס. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 ובכנות, ברגע שאתה להתרגל אליהם, זה 126 00:05:45,790 --> 00:05:48,220 כל כך הרבה יותר מהר ל לעבוד בסביבה זו 127 00:05:48,220 --> 00:05:53,690 מאשר לעבוד עם Finder, גרירה ולחיצה דברים. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> אז הנה אנחנו. 130 00:05:57,210 --> 00:06:01,779 עכשיו אני רק SSH-ed ב, וכך ברירת המחדל location-- 131 00:06:01,779 --> 00:06:04,820 ראיתי כמה מהפקודות האלה בכיתה, אבל אנחנו נלך על כל אותם שוב. 132 00:06:04,820 --> 00:06:08,060 מיקום ברירת המחדל שאנחנו בהוא ספריית הבית. 133 00:06:08,060 --> 00:06:11,520 וספרייה, רק מילה אחרת לתיקייה. 134 00:06:11,520 --> 00:06:13,310 אז אנחנו בספריית הבית. 135 00:06:13,310 --> 00:06:15,889 הקלד ls, רשימת הקבצים במדריך זה. 136 00:06:15,889 --> 00:06:17,430 מסתבר שאני יצרתי blah.c קודם לכן. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 אז יש לנו ספריית שולחן עבודה. 139 00:06:20,472 --> 00:06:21,930 אתה שם לב להדגשת התחביר? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 הדגשה בצבע התכלת מציינת ספרייה והישרה לבן 142 00:06:32,900 --> 00:06:34,380 מציין רק קובץ רגיל. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 אז יש הולכים להיות כמה צבעים אחרים שאתה רואה. 145 00:06:37,690 --> 00:06:41,240 קובץ הפעלה הוא כנראה הולך להיות ירוק או משהו כזה. 146 00:06:41,240 --> 00:06:44,820 אוקיי, אז אנחנו נמצאים בספריית הבית. 147 00:06:44,820 --> 00:06:48,970 >> עכשיו, אם אני רוצה להיכנס לשונה ספרייה, CD היא את הפקודה שאני רוצה. 148 00:06:48,970 --> 00:06:52,720 אז לשנות את הספרייה, ואז אתה מעביר את השם של הספרייה 149 00:06:52,720 --> 00:06:54,020 כי אתה רוצה להיכנס ל. 150 00:06:54,020 --> 00:06:55,780 אז הנה יש לנו ארבע אפשרויות. 151 00:06:55,780 --> 00:07:03,397 אני יכול להיכנס להורדות, וכעת אנו רואים כאן היא עדכנה זה בסוגריים 152 00:07:03,397 --> 00:07:04,480 להגיד שאני ב~ / הורדות. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> אז מה היא טילדה? 155 00:07:06,800 --> 00:07:10,640 זה קיצור ל ספריית הבית שלך. 156 00:07:10,640 --> 00:07:15,260 אז כמעט כל מה שאתה צריך לעשות זה ללכת ל להיות ביחס לתיקיית הבית שלך, 157 00:07:15,260 --> 00:07:20,620 ומע"צ היא רק פקודה אני משתמש פעם בשנה ש 158 00:07:20,620 --> 00:07:22,420 רק מדפיס את הספרייה הנוכחית. 159 00:07:22,420 --> 00:07:25,730 ואז אתה רואה כאן ש ~ / הורדות באמת פותרת 160 00:07:25,730 --> 00:07:26,896 ל/ home / jharvard / הורדות. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 אז / home / jharvard היא ספריית הבית שלי. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> אז אנחנו CD יכולים dot dot. 165 00:07:39,400 --> 00:07:47,800 עכשיו נקודת נקודה היא ספרייה מיוחדת ש תמיד מתייחס לתיקייה אחת למעלה. 166 00:07:47,800 --> 00:07:51,730 אז אם אני ב~ / הורדות, אז נקודת cd הנקודה הוא הולכת להביא לי לטילדה. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 מה אנחנו חושבים נקודת נקודת cd הוא הולך להביא לי עכשיו? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 זה יביא לי / בית. 171 00:08:00,570 --> 00:08:04,450 אז טילדה ידי ספריית עבודה הדפסה, אני בחברה / הבית / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 ספרייה אחת למעלה מזה, עכשיו זה אומר כאן / בית. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> עכשיו נקודת נקודת CD. 176 00:08:17,180 --> 00:08:20,910 עכשיו אני בספריית השורש, ואתה לא יכול לעשות את זה שוב. 177 00:08:20,910 --> 00:08:23,340 אתה פשוט תישאר ב ספריית שורש לנצח. 178 00:08:23,340 --> 00:08:26,700 יש ספריית שורש חבורה שלמה דברים ש, אם אתה רוצה להסתכל לתוך, 179 00:08:26,700 --> 00:08:27,410 אתה יכול. 180 00:08:27,410 --> 00:08:29,700 לדוגמא, אם אני הולך לפח, המכיל 181 00:08:29,700 --> 00:08:35,789 כל קבצים בינאריים אלה, כגון ls, וCD, ואת כל הדברים האלה. 182 00:08:35,789 --> 00:08:38,630 אז פקודות אלה צריכים קיים במקום כלשהו במערכת, 183 00:08:38,630 --> 00:08:40,820 וזה בספריית bin /. 184 00:08:40,820 --> 00:08:44,530 אבל כמעט כל מה שאתה צריך לעשות זה הולך להיות מספריית הבית שלך. 185 00:08:44,530 --> 00:08:49,490 וCD ללא כל ויכוחים שהיא, אפשר לומר cd ~, לא צריך. 186 00:08:49,490 --> 00:08:51,810 CD הוא הולך להביא לך חזרה לספריית הבית שלך. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> אחרון אחד. 189 00:08:54,230 --> 00:09:00,200 CD - הוא הולך להביא אותך חזרה ל הספרייה האחרונה, שהיית ב. 190 00:09:00,200 --> 00:09:04,080 אז אני פשוט cd'd פעמיים ברציפות, כך שלי ספרייה שעברה הייתה בספריית הבית. 191 00:09:04,080 --> 00:09:11,520 אם אני הולך לקצץ בן, ועכשיו בואו נלך ולמשתמש. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 נתח משתמש. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 בואו נלך למנית משתמש. 196 00:09:15,940 --> 00:09:17,140 עכשיו אני עכשיו בנתח משתמש. 197 00:09:17,140 --> 00:09:19,320 CD -, חזרה בפח. 198 00:09:19,320 --> 00:09:22,980 אז זה מקבל שימושי במיוחד כאשר אתה have-- וזה יהיה לעבור. 199 00:09:22,980 --> 00:09:25,660 כלומר, מנית משתמש, גב סל, סל מניות. 200 00:09:25,660 --> 00:09:27,250 >> אז זה מקבל שימושי. 201 00:09:27,250 --> 00:09:33,150 אתה עלול למצוא את עצמך שיש הרבה, רבות, רבות ספריות מקוננות. 202 00:09:33,150 --> 00:09:37,370 ואתה רוצה לעשות משהו מהיר אמיתי בספרייה עליונה. 203 00:09:37,370 --> 00:09:40,330 אתה הולך לספרייה ש, לעשות שינויים ודברים כאלה, 204 00:09:40,330 --> 00:09:42,400 ועכשיו אתה רוצה ללכת בחזרה למקום שבו היית. 205 00:09:42,400 --> 00:09:43,660 CD -. 206 00:09:43,660 --> 00:09:47,320 אני תמיד מתוסכל כשאני במקרה הלכתי 207 00:09:47,320 --> 00:09:49,630 לזה אני מדריך רציתי לעשות עבודה ב. 208 00:09:49,630 --> 00:09:52,670 אני תמיד מקבל מתוסכל כאשר עשיתי זה בשני שלבים במקום צעד אחד, 209 00:09:52,670 --> 00:09:55,715 כי זה אומר שתקליטור ש-- הולך להביא שלמיקום ביניים 210 00:09:55,715 --> 00:09:57,010 במקום שבו אני רוצה ללכת. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> כך אנו רואים את כל הקבצים ברשימה. 213 00:10:01,450 --> 00:10:03,300 אנחנו יודעים איך לעקוף עד כה. 214 00:10:03,300 --> 00:10:09,900 אז עכשיו בואו נדבר על עריכת קבצים. 215 00:10:09,900 --> 00:10:18,790 אז בקורס זה, אתה כמעט תמיד צפוי להשתמש gedit. 216 00:10:18,790 --> 00:10:24,410 אם אתה רוצה, אתה יכול לקחת את הצעד הבא ולהתחיל ללמוד את טקסט שורת הפקודה 217 00:10:24,410 --> 00:10:25,240 עורך. 218 00:10:25,240 --> 00:10:27,560 אז אפשרויות שונות קיימות. 219 00:10:27,560 --> 00:10:31,760 >> ואלה הם כנראה הולך להיות רלוונטי לך, 220 00:10:31,760 --> 00:10:35,340 יש לנו ננו, Vim, וEmacs. 221 00:10:35,340 --> 00:10:40,196 אז Nano הוא למתחילים שורת פקודת עורך טקסט. 222 00:10:40,196 --> 00:10:42,985 אז Nano בוא נלך על blah.c יצרתי קודם לכן. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 זה פשוט קובץ C תקן זה. 225 00:10:46,480 --> 00:10:51,540 ואתה רואה חבורה של דברים שלמה קורה בחלק התחתון של המסך, 226 00:10:51,540 --> 00:10:54,100 וblah.c כנראה מכיל קוד C זה. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> אז בעורך המסוים הזה, מה זה אומר בbottom-- 229 00:11:00,330 --> 00:11:06,290 עכשיו סמל תו זה, אנו רואים ^ G, ^ X, ^ O זה. 230 00:11:06,290 --> 00:11:10,310 כך שכמעט בכל הקשר שאתה רואה, 231 00:11:10,310 --> 00:11:13,530 אתה עשוי לראות שסמל סימן הכניסה ב מקומות אחרים באינטרנט, בהצפת מחסנית, 232 00:11:13,530 --> 00:11:14,450 משהו כזה. 233 00:11:14,450 --> 00:11:16,970 זה כמעט תמיד מתייחס לשליטה. 234 00:11:16,970 --> 00:11:21,590 אז כדי לצאת אני רוצה לעשות שליטת X. בקרת X, עם יציאתו. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 ואני יכול להשתמש החץ שלי מפתחות כדי לנוע. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 שים לב אני לא יכול להצביע וללחוץ בקלות. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 אתה צריך להשתמש בחיצים שלך מפתחות כדי לנוע. 241 00:11:35,010 --> 00:11:36,950 אולי יש הגדרה הצבע ולחץ. 242 00:11:36,950 --> 00:11:40,000 >> אבל בואו נעשה כמה שינויים. 243 00:11:40,000 --> 00:11:42,100 עכשיו בקרת X ללכת יציאה. 244 00:11:42,100 --> 00:11:44,120 זה הולך לומר להציל חיץ שונה. 245 00:11:44,120 --> 00:11:47,900 עכשיו הפקודה, y עבור yes, n ללא. 246 00:11:47,900 --> 00:11:49,900 ג שליטה לביטול. 247 00:11:49,900 --> 00:11:50,780 אני רק אגיד כן. 248 00:11:50,780 --> 00:11:51,709 שם קובץ לכתוב. 249 00:11:51,709 --> 00:11:53,500 ברירת המחדל הוא הקובץ כי הוא כבר נמצא. 250 00:11:53,500 --> 00:11:54,230 לחץ על Enter. 251 00:11:54,230 --> 00:11:54,740 אישור. 252 00:11:54,740 --> 00:11:58,580 עכשיו אני רק בעריכת קובץ ש, הציל אותו, והוא השתנה. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> אז Nano הוא הקלה ביותר עורך טקסט להתרגל. 255 00:12:03,000 --> 00:12:05,520 החלופות Vim וEmacs. 256 00:12:05,520 --> 00:12:11,250 אלה הם עורכי טקסט ברמה גבוהה יותר שיש לי עקומה למידה תלולה מאוד. 257 00:12:11,250 --> 00:12:13,740 אז ההעדפה האישית שלי הוא Vim. 258 00:12:13,740 --> 00:12:17,175 ויש לו מגוון רחב של אפשרויות. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 וברגע שאתה מתרגל לזה, אתה לעולם לא 261 00:12:24,070 --> 00:12:26,900 רוצה ללכת לכל אחר עורך טקסט, כי אתה פשוט 262 00:12:26,900 --> 00:12:29,590 יש כל כך הרבה דברים עומד לרשותך באלה, 263 00:12:29,590 --> 00:12:31,690 אבל זה לוקח באמת זמן רב ללמוד. 264 00:12:31,690 --> 00:12:36,000 אז אולי אתה פשוט רוצה להכריח את את עצמך עכשיו להתרגל לזה, 265 00:12:36,000 --> 00:12:38,130 אבל אני הייתי אומר שזה שווה את זה. 266 00:12:38,130 --> 00:12:39,660 אבל זה קשה. 267 00:12:39,660 --> 00:12:41,220 >> ולאחר מכן Emacs. 268 00:12:41,220 --> 00:12:44,940 אני תמיד במאבק בEmacs כי אני יודע איך לעשות את הדבר וחצי דבר. 269 00:12:44,940 --> 00:12:47,755 כנראה Emacs הוא לא כברירת מחדל מותקן על המכשיר. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 אנחנו כנראה נוסיף ש כהתקנות ברירת מחדל. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 ברגע שאתה לומד אחד מ Vim או Emacs, יש 274 00:13:02,390 --> 00:13:04,810 אין סיבה משכנעת אי פעם ללמוד אחרים, 275 00:13:04,810 --> 00:13:07,570 אבל זה סגנון שונה לחלוטין. 276 00:13:07,570 --> 00:13:10,460 אישור אז זה עריכת קבצי טקסט. 277 00:13:10,460 --> 00:13:13,374 >> קהל: אם היית תקוע בVim עכשיו, איך לעשות we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB אודן: יש מצבים מרובים בVim, 280 00:13:20,800 --> 00:13:23,770 ויש כל הדרכות על למידת Vim. 281 00:13:23,770 --> 00:13:27,390 אז אם יקרה לך להיות במצב הכנסה כדי 282 00:13:27,390 --> 00:13:29,930 להקליד טקסט, שבו אתה יכול להיכנס כי בדרכים שונות, 283 00:13:29,930 --> 00:13:31,610 אבל לי איך להיכנס למצב הכנסה. 284 00:13:31,610 --> 00:13:34,780 באו לצאת מכל מיוחד מצב שאתה ב, רק בריחה. 285 00:13:34,780 --> 00:13:37,640 ואתה רק לנגח את הבריחה כדי לקבל מתוך כל מצבים מקוננים בך. 286 00:13:37,640 --> 00:13:40,360 רק בסדר, עכשיו אני שוב במצב רגיל. 287 00:13:40,360 --> 00:13:43,790 >> וכך במצב רגיל, מעי גס. 288 00:13:43,790 --> 00:13:45,160 אתה רואה את זה מופיע בתחתית. 289 00:13:45,160 --> 00:13:46,240 ואז q. 290 00:13:46,240 --> 00:13:52,600 אז q יעזבו אם עשה שינויים, שאני- יש לי עשה שינויים? 291 00:13:52,600 --> 00:13:54,180 אני עשיתי שינויים כנראה. 292 00:13:54,180 --> 00:13:57,264 אז אם אתה ביצעת שינויים, זה יהיה אומר שאתה יכול לשים סימן קריאה. 293 00:13:57,264 --> 00:13:58,430 אני הולך לקרוא לזה מפץ. 294 00:13:58,430 --> 00:14:02,040 אז אתה יכול לשים את איסור רק להפסיק בלי לעשות שום דבר, 295 00:14:02,040 --> 00:14:04,520 או WQ המעי הגס יחסוך ויפסיק. 296 00:14:04,520 --> 00:14:06,580 אז w באופן כללי הוא לכתוב. 297 00:14:06,580 --> 00:14:08,300 אז לכתוב את הקובץ. 298 00:14:08,300 --> 00:14:09,810 אני יכול לכתוב ולהפסיק. 299 00:14:09,810 --> 00:14:13,606 או שאתה יכול פשוט טריקת qx, מפץ q רק 300 00:14:13,606 --> 00:14:16,230 לצאת משם בלי קשר על כל שינוי שביצעת. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> בסדר, אז עכשיו בואו go-- אנחנו יכולים ליצור קבצים. 303 00:14:28,940 --> 00:14:30,890 בואו נתחיל בהסרה של קבצים. 304 00:14:30,890 --> 00:14:35,450 ואני פשוט אזרוק באחד הפקודה מהירה חדשה, מגע. 305 00:14:35,450 --> 00:14:38,200 אז לגעת foo. 306 00:14:38,200 --> 00:14:39,340 בר מגע. 307 00:14:39,340 --> 00:14:40,220 לגעת באז. 308 00:14:40,220 --> 00:14:42,810 אם אני ls, עכשיו אנחנו רואים כי קבצים אלה קיימים. 309 00:14:42,810 --> 00:14:44,315 הם ריקים לחלוטין. 310 00:14:44,315 --> 00:14:47,178 אז המגע הוא רק קל דרכו של אחד, [לא ברור]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 שני, מבחינה טכנית רק למדינה זה, זה מעדכן את חותמות הזמן. 313 00:14:54,640 --> 00:14:58,470 אז יש כל קובץ שאתה יוצר חותמת הקשורים אליו. 314 00:14:58,470 --> 00:15:01,330 אז באז נוצר ב ספטמבר 14 ב16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 עכשיו זה 16:22, כך שאם אני נוגע באז שוב, אנחנו 317 00:15:06,670 --> 00:15:11,420 לראות באז שהיה רוב שונה לאחרונה ב16:22. 318 00:15:11,420 --> 00:15:17,680 אבל חוץ מזה אני כמעט אף פעם לא מסתכל על חותמות הזמן על קבצים. 319 00:15:17,680 --> 00:15:20,490 אז מגע, כאן אני רק באמצעות בו כדי ליצור כמה קבצים מהירים. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> כל, אז עכשיו rm הנכון הוא הפקודה שאכפת לנו כאן. 322 00:15:27,400 --> 00:15:28,665 ואנחנו יכולים RM boo. 323 00:15:28,665 --> 00:15:31,000 אומר להסיר boo קובץ הריק הרגיל. 324 00:15:31,000 --> 00:15:34,070 ואנחנו יכולים להקליד y, ועכשיו זה מסיר. 325 00:15:34,070 --> 00:15:34,850 באז rm. 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 להסיר את הקובץ ריק רגיל באז וn הסוג ללא. 328 00:15:38,620 --> 00:15:40,060 עכשיו זה לא הוסר. 329 00:15:40,060 --> 00:15:41,240 אז בר ואז עדיין קיימות. 330 00:15:41,240 --> 00:15:42,232 Foo נעלם. 331 00:15:42,232 --> 00:15:43,148 גבריאל: תמשיך לדבר. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB אודן: נהדר. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 אז ההודעה המעצבנת כאן, להסיר empty-- הרגיל 336 00:15:50,370 --> 00:15:52,390 מה אתה עושה שם למטה? 337 00:15:52,390 --> 00:15:54,030 להסיר את הקובץ ריק רגיל. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 אז אם אנחנו לא רוצים להיות הטריד אותו המסר, 340 00:16:01,610 --> 00:16:05,340 אנחנו יכולים לזרוק ב-f זה דגל, ואז זה כוח. 341 00:16:05,340 --> 00:16:11,330 ועכשיו אם אני RM -f, זה לא הולך ל אומר שאתה רוצה להסיר את הקובץ הזה. 342 00:16:11,330 --> 00:16:12,040 זה פשוט יעשה את זה. 343 00:16:12,040 --> 00:16:13,720 וls, אני לא רואה את בר שם יותר. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> עכשיו זה פוטנציאל הפקודה מסוכנת. 346 00:16:18,021 --> 00:16:19,020 הוא נוטה שלא לרע. 347 00:16:19,020 --> 00:16:22,240 אנחנו נחזור בשניים איך זה יכול להיות ממש מסוכן. 348 00:16:22,240 --> 00:16:28,740 ובואו ליצור כמה ספרייה זמנית. 349 00:16:28,740 --> 00:16:30,880 mkdir, פקודה אחרת. 350 00:16:30,880 --> 00:16:34,880 אז mkdir היא הפקודה זה עושה את ספרייה. 351 00:16:34,880 --> 00:16:40,650 ועכשיו על ידי ls אנו רואים אור זה נחמד כחול מודגש ספרייה זמנית. 352 00:16:40,650 --> 00:16:42,295 אני יכול CD לטמפ '. 353 00:16:42,295 --> 00:16:44,590 ואני יכול mkdir foo. 354 00:16:44,590 --> 00:16:46,330 CD לfoo. בר mkdir. 355 00:16:46,330 --> 00:16:46,860 CD לבר. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> כך אנו רואים שאנו יכולים לקבל בקלות לכמה קינון די עמוק. 358 00:16:54,300 --> 00:16:56,385 עכשיו איך אני מסיר את ספרייה? 359 00:16:56,385 --> 00:16:57,020 360 00:16:57,020 --> 00:16:57,520 rmdir. 361 00:16:57,520 --> 00:16:59,030 362 00:16:59,030 --> 00:17:03,540 אז אם אני פשוט ישר מנסה rm, כמו שעשינו עם קובץ רגיל, 363 00:17:03,540 --> 00:17:06,420 בר rm הולך אומר לא יכול להסיר את הסרגל. 364 00:17:06,420 --> 00:17:07,569 זה מדריך. 365 00:17:07,569 --> 00:17:10,619 יש פקודה מיוחדת ל הסרת ספריות, סוג של. 366 00:17:10,619 --> 00:17:12,900 בר אז rmdir. 367 00:17:12,900 --> 00:17:13,710 עכשיו בר נעלם. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> אוקיי, אז rmdir אני פחות או יותר לא להשתמש. 370 00:17:22,680 --> 00:17:32,220 הסיבה עכשיו being-- בואו להפוך את בר קובץ רגיל כאן. 371 00:17:32,220 --> 00:17:34,780 boo אז rmdir. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 נכשל ניסיון להסיר foo. 374 00:17:36,900 --> 00:17:38,420 מדריך אינו ריק. 375 00:17:38,420 --> 00:17:43,420 אז אתה לא יכול להשתמש להסיר dir ב ספרייה שיש דברים בזה. 376 00:17:43,420 --> 00:17:44,830 >> אז יש לך כמה אפשרויות. 377 00:17:44,830 --> 00:17:49,780 אתה יכול להיכנס לספרייה ש, להסיר הכל ידני, ולאחר מכן יצא 378 00:17:49,780 --> 00:17:51,759 וRMDIR הספרייה. 379 00:17:51,759 --> 00:17:53,050 זה כמובן נשמע מעצבן. 380 00:17:53,050 --> 00:17:55,000 מה אם יש אלפים קבצים שם? 381 00:17:55,000 --> 00:17:58,119 ובכן, אתה יכול RM *. 382 00:17:58,119 --> 00:17:59,410 נדבר על * בשני. 383 00:17:59,410 --> 00:18:00,870 זה בעצם אומר את כל הדברים. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 אבל עדיין טוב יותר, -r כך rm. 386 00:18:05,470 --> 00:18:10,220 אז rm -r-- בהרבה הקשרים, -r אומר רקורסיבית, 387 00:18:10,220 --> 00:18:13,810 שנדברנו על מה ש אמצעי רקורסיבית בכמה שבועות. 388 00:18:13,810 --> 00:18:18,630 אבל זה בעצם אומר חוצה השלמות של ספרייה זו 389 00:18:18,630 --> 00:18:20,190 ולהסיר את כל מה. 390 00:18:20,190 --> 00:18:24,420 >> foo -r אז rm הולך להגיד יורד אל foo ספרייה? 391 00:18:24,420 --> 00:18:25,210 כן. 392 00:18:25,210 --> 00:18:26,800 הסר קובץ foo / בר ריק רגיל? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 כן. 395 00:18:28,540 --> 00:18:29,760 הסר foo ספרייה? 396 00:18:29,760 --> 00:18:30,260 כן. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 אז עכשיו foo וכל מה ש בתוכו הוסר. 399 00:18:35,020 --> 00:18:42,370 >> עכשיו שיכול לקבל מעצבן במיוחד when-- בואו לגעת 1, לגעת 2, לגעת 3. 400 00:18:42,370 --> 00:18:44,400 יכול להיות חבורה של קבצים שלמה. 401 00:18:44,400 --> 00:18:49,060 אם אני רוצה, אני יכול ליצור אלפי קבצים כאן. 402 00:18:49,060 --> 00:18:53,340 וfoo -r rm הולך להיות די מעצבן. 403 00:18:53,340 --> 00:18:55,374 כן, כן, כן, כן, כן, כן. 404 00:18:55,374 --> 00:18:57,540 עם הרבה יותר קבצים שאתה לראות במהירות כמה פעמים 405 00:18:57,540 --> 00:18:58,581 הייתי צריך להקליד כן. 406 00:18:58,581 --> 00:19:02,265 ובכן, אנחנו פשוט ראינו לפני כמה שאנחנו יכולים להיפטר מהצורך להקליד כן, -f. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 מגע אז mkdir CD foo foo 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 אישור, foo -rf כך rm הולך באופן עיוור להסיר foo לחלוטין. 411 00:19:17,190 --> 00:19:17,960 אין הנחיה. 412 00:19:17,960 --> 00:19:18,650 אין שום דבר. 413 00:19:18,650 --> 00:19:20,040 Foo נעלם. 414 00:19:20,040 --> 00:19:23,830 >> אז אני נוטה להשתמש בזה הפקודה כל הזמן. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 שאמרו, זה הפקודה מאוד מסוכנת, 417 00:19:27,830 --> 00:19:33,240 כי אם אני עושה משהו כמו זה, זה לא יבקש ממך. 418 00:19:33,240 --> 00:19:34,730 זה כבר לא יהיה. 419 00:19:34,730 --> 00:19:40,140 וזה קורה לעתים קרובות למדי, ואפילו בקורסי CS רמה גבוהה יותר. 420 00:19:40,140 --> 00:19:42,070 לפעמים אנחנו תראו משהו בו מישהו 421 00:19:42,070 --> 00:19:48,360 אומר שאני בטעות RF-ed rm שלנו הבית שלי ספרייה וכל קבוצת P שלי נעלמה. 422 00:19:48,360 --> 00:19:52,422 וזה הרסני, אבל אין פח אשפה. 423 00:19:52,422 --> 00:19:54,380 אין שם שום דבר לך לאחזר. 424 00:19:54,380 --> 00:19:55,330 זה פשוט נעלם. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 חמור מכך יהיה משהו כמו / -rf rm. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 אז אנחנו רק דנו שספריית השורש. 429 00:20:01,140 --> 00:20:03,095 זה מחזיק בכל קבצים במערכת שלך. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 דברים נוטים להיות די מבולגן בעת הסרת דברים כמו ls, 432 00:20:07,380 --> 00:20:10,280 וCD, ואת כל אלה. 433 00:20:10,280 --> 00:20:15,467 >> קהל: מה ההבדל בין rm, RF, ו* rm 434 00:20:15,467 --> 00:20:16,300 ROB אודן: * אז rm - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> אליסון: השאלה הייתה מה הבדל בין rm, RF, ו* rm. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB אודן: אז rm *. 439 00:20:25,950 --> 00:20:31,910 כוכבים באמצעים כלליים כל את תוכנו של מדריך זה. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 מנסה לחשוב על אחרים דרכים להראות כוכב. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 ובכן, לככב למעשה, בדרך כלל, פירוש הדבר התאים לשום תבנית. 444 00:20:44,780 --> 00:20:54,930 אז אם יש לי קובץ בשם dog1, לגעת dog2, לגעת cat1, לגעת cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 אז ls * 1 הולך להדפיס cat1 ו dog1, כי כוכב שיכול להיות מלא 447 00:21:02,110 --> 00:21:06,270 בwith-- אחד צריך להיות שם, אבל כוכב יכול להיות או חתול או כלב. 448 00:21:06,270 --> 00:21:07,247 זה קלף פראי. 449 00:21:07,247 --> 00:21:08,580 זה המילה שאני מחפש. 450 00:21:08,580 --> 00:21:09,120 Wild Card. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 או שאני יכול ls * כלב, ו אני חייב לראות dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 אז אלה הם מפרטים את הקבצים התואמים את דפוס מסוים ש. 454 00:21:16,870 --> 00:21:18,150 אתה יכול להשתמש בls בדרך זו. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * כוכב תואם שום דבר. 457 00:21:22,020 --> 00:21:25,710 אז זה הולך להדפיס את כל את תוכנו של מדריך זה 458 00:21:25,710 --> 00:21:27,290 מאז כולם להתאים. 459 00:21:27,290 --> 00:21:30,130 זה לא הולך להדפיס כל דבר בספריות ברמה גבוהות. 460 00:21:30,130 --> 00:21:38,680 אם יש לי תת ספרייה, foo, ו לגעת 1 2 3-- אז עכשיו אם * rm כוכב, 461 00:21:38,680 --> 00:21:41,450 להסיר cat1, cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 לא ניתן להסיר foo. 463 00:21:42,340 --> 00:21:43,090 זה מדריך. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> אז כוכב מתרחב לכל קבצים בספרייה. 466 00:21:50,340 --> 00:21:55,210 אז מבחינה טכנית rm * זה כמו לומר cat1 rm, cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 בעוד -rf rm, מבחינה טכנית סטאר להשיג את מה שאנחנו רוצים, אבל rm -rf-- 468 00:22:03,630 --> 00:22:06,090 אם אני יוצא מזה ספרייה, טמפ -rf rm, 469 00:22:06,090 --> 00:22:08,890 זה הולך להיכנס לטמפ 'ו באופן רקורסיבי להסיר את כל מה. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> אז הכוכב הוא נפרד שב הוא הבין by-- כך הדבר הזה 472 00:22:21,060 --> 00:22:25,090 , דבר שאני רץ בזה שמעודד אותי לפקודות 473 00:22:25,090 --> 00:22:28,770 ולאחר מכן ביצוע ועושה שלהם, אני קורא לזה הפגז שלי. 474 00:22:28,770 --> 00:22:31,930 וכך פגז זה הוא עצמו תכנית. 475 00:22:31,930 --> 00:22:35,010 ואם אני רוצה, אני יכול לרוץ ב/ bin / bash. 476 00:22:35,010 --> 00:22:36,930 הפגז נקרא bash. 477 00:22:36,930 --> 00:22:39,340 ועכשיו אנחנו מבחינים במשהו מעט השתנה, 478 00:22:39,340 --> 00:22:42,200 וזה בגלל שההגדרות שלי ל הפגז שונה במקצת. 479 00:22:42,200 --> 00:22:45,415 >> אבל עכשיו אני מבחינה טכנית פועל פגז בתוך המעטפת המקורית שלי, 480 00:22:45,415 --> 00:22:49,570 ואני יכול לצאת פגז ש, ועכשיו אני חוזר לקונכייה ברמה העליונה שלי. 481 00:22:49,570 --> 00:22:55,240 המטרה לומר שis-- הכוכב. 482 00:22:55,240 --> 00:22:59,020 אז הכוכב הוא משהו מובן על ידי bash. 483 00:22:59,020 --> 00:23:04,260 אז -rf rm, דגל -rf הוא הבין רק על ידי rm. 484 00:23:04,260 --> 00:23:06,380 הוא יודע שכאשר אתה לעבור -rf ש 485 00:23:06,380 --> 00:23:09,520 רוצה את זה כדי להסיר באופן רקורסיבי כל הקבצים מבלי להציג הודעה. 486 00:23:09,520 --> 00:23:13,960 הכוכב הבין משהו על ידי bash שכאשר אתה אומר * rm, 487 00:23:13,960 --> 00:23:16,890 bash לא הולך להגיד היי * rm, להסיר כוכב. 488 00:23:16,890 --> 00:23:21,010 Bash הולך להגיד rm * להסיר cat1, cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 זה באופן אוטומטי הולך להרחיב כל הקבצים בספרייה. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> ובאופן דומה טילדה עוד סמל שbash מבין. 492 00:23:33,140 --> 00:23:37,130 כשאתה אומר cd ~, bash מתרחב כי לספריית הבית שלך. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 שאלות אחרות כל כך רחוק? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 אישור אז אנחנו הולכים להתחיל ללכת מהר. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> השלמת כרטיסייה. 499 00:23:48,545 --> 00:23:49,670 רק כדי לזרוק אותו בחוץ. 500 00:23:49,670 --> 00:23:51,530 הרבה אנשים לא מבין את זה קיים. 501 00:23:51,530 --> 00:23:55,060 אז אם אני מקליד CD דאו, אני רוצה להיכנס להורדות. 502 00:23:55,060 --> 00:23:56,700 אני לא צריך להקליד nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 אני יכול פשוט מקיש על Tab. 505 00:24:00,770 --> 00:24:03,794 אז היא מכירה בכך דאו הוא קידומת ש 506 00:24:03,794 --> 00:24:05,710 אינו תואם במדריך זה אחר, 507 00:24:05,710 --> 00:24:07,520 כך היא תשלים את זה בשבילך. 508 00:24:07,520 --> 00:24:08,610 עכשיו אני יכול להיכנס. 509 00:24:08,610 --> 00:24:10,110 >> אני גם עושה את זה באופן רקורסיבי. 510 00:24:10,110 --> 00:24:11,205 foo אז mkdir. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 בואו נלך לfoo. 513 00:24:13,300 --> 00:24:14,830 בר mkdir. 514 00:24:14,830 --> 00:24:17,345 אז חוזר לבית שלי ספרייה, אני יכול לראות את ההורדות. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 עכשיו לחיצה על טאב שוב, באופן אוטומטי הולך למלא בfoo. 517 00:24:21,860 --> 00:24:22,880 זה המדריך בלבד. 518 00:24:22,880 --> 00:24:25,340 לחיצה על טאב שוב, באופן אוטומטי הולך למלא בבר. 519 00:24:25,340 --> 00:24:26,798 אז עכשיו אני ב( ~ הורדות / foo / בר). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> אז השלמת כרטיסייה זו, בכל פעם שיש לי לשעתי עבודה, 522 00:24:31,692 --> 00:24:33,400 ואני עומד על כתפו של מישהו, 523 00:24:33,400 --> 00:24:40,470 והם הולכים rm D-O-W-N-L-O-A-D-S, אני מת. 524 00:24:40,470 --> 00:24:41,990 כרטיסייה רק, כרטיסייה, כרטיסייה, כרטיסייה. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 אז בהחלט משמש כרטיסייה. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 ובאופן דומה ו למטה, הרבה אנשים 529 00:24:49,840 --> 00:24:51,930 רק שקרה לי מעולם לא הכה למעלה ולמטה. 530 00:24:51,930 --> 00:24:54,870 זה יעבור הקודם פקודות, כך שאם אתה רק רץ משהו, 531 00:24:54,870 --> 00:24:58,300 ואתה רוצה להפעיל אותו שוב, רק להחזיק עד שתגיעו לזה. 532 00:24:58,300 --> 00:24:59,870 533 00:24:59,870 --> 00:25:00,370 אישור. 534 00:25:00,370 --> 00:25:01,460 535 00:25:01,460 --> 00:25:03,585 >> כל כך מהר, כמה דברים אחרים. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 בואו נחזור לטמפ '. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 בואו ליצור כמה קבצים. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 אז כאן, אני רק הולך לרשום כמה מילות. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 כלב, חתול, מיאו. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 בואו נעשה כלב, דגים. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 אז עכשיו נציג הוא מאוד פקודות שימושיות ש 548 00:25:32,320 --> 00:25:37,820 להשתמש בו כדי לחפש בכל קבצים עבור טקסט מסוים, 549 00:25:37,820 --> 00:25:40,910 מבחינה טכנית אתה יכול לעשות באמת ביטויים מורכבים על מנת שיתאימו. 550 00:25:40,910 --> 00:25:44,830 >> אז הנה, אם אני grep, ומה אני רוצה לחפש? 551 00:25:44,830 --> 00:25:49,130 נניח שאני מחפש חתולים, ו אני רוצה לחפש את כל הקבצים הללו. 552 00:25:49,130 --> 00:25:50,650 אז איך אני עושה את כל הקבצים הללו? 553 00:25:50,650 --> 00:25:51,900 כוכבים. 554 00:25:51,900 --> 00:25:54,939 אז בקובץ אחד, יש לי חתול. 555 00:25:54,939 --> 00:25:56,980 כנראה שיהיה לי קרא לזה משהו טוב יותר, 556 00:25:56,980 --> 00:25:59,063 כי זה נראה כמו מספרי שורות או משהו. 557 00:25:59,063 --> 00:26:01,590 אבל בקובץ אחד יש לי קו עם חתול. 558 00:26:01,590 --> 00:26:04,160 בקובץ שני יש לי קו עם חתול. 559 00:26:04,160 --> 00:26:07,280 אז עכשיו אני יכול להסתכל בתוך קובץ אחד ו לראות אה, כן, הקובץ שעשה לי חתול. 560 00:26:07,280 --> 00:26:10,210 קובץ הודעה של שלושה לא תאם בגלל חתול הוא לא שם. 561 00:26:10,210 --> 00:26:13,882 אני יכול grep "מיאו". 562 00:26:13,882 --> 00:26:14,840 להגיש רק שני יש מיאו. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> אז זה אתה יכול לשלב, שוב, עם -r, ש 565 00:26:20,640 --> 00:26:23,580 כמו שאמרתי קודם לעתים קרובות משמעות הדבר היא רקורסיבית. 566 00:26:23,580 --> 00:26:29,800 ואז אני יכול לבוא לכאן, grep -r לכל מקרה של-- בואו לערוך 567 00:26:29,800 --> 00:26:32,010 זה אחד רק כדי לזרוק את חתול לשם. 568 00:26:32,010 --> 00:26:38,800 אז grep -r לכל מקרה של חתול בכל ספרייה זו. 569 00:26:38,800 --> 00:26:41,600 וזה מספר פעמים חיפוש בכל תיקיות המשנה. 570 00:26:41,600 --> 00:26:43,940 אז באז, יש חתול. 571 00:26:43,940 --> 00:26:45,570 בטמפ '/ 2, יש חתול. 572 00:26:45,570 --> 00:26:47,960 ובטמפ '/ 1 יש חתול. 573 00:26:47,960 --> 00:26:50,045 אז זה חיפוש בתוך קבצים. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> עכשיו אתה יכול גם להשתמש למצוא. 576 00:26:55,090 --> 00:26:59,640 וכך מוצא הוא באופן ספציפי על מחפש קבצים עם שם שניתן. 577 00:26:59,640 --> 00:27:02,490 אז בואו לעשות קצת יותר. 578 00:27:02,490 --> 00:27:03,660 בואו נלך להורדות. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 לגעת dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 לגעת cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 לגעת cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 לגעת catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> אז אני רוצה למצוא את כל קבצים עם כלב בשם. 589 00:27:23,810 --> 00:27:28,060 אז למצוא, ולארוך ביותר זמן אף פעם לא זכר 590 00:27:28,060 --> 00:27:33,760 איך למצוא עבד, עד שלבסוף לקרוא משהו שעשה את זה כל כך ברור. 591 00:27:33,760 --> 00:27:35,784 אז למצוא, באופן אוטומטי רקורסיבית. 592 00:27:35,784 --> 00:27:36,950 אתה לא צריך לעבור -r. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 אז למצוא נקודה. 595 00:27:39,110 --> 00:27:40,750 לא דברנו על הנקודה עדיין. 596 00:27:40,750 --> 00:27:44,800 בעוד נקודת נקודה תמיד משמעות הדבר היא ספרייה אחת למעלה. 597 00:27:44,800 --> 00:27:46,960 דוט תמיד אומר את הספרייה הנוכחית. 598 00:27:46,960 --> 00:27:51,390 כדי שאוכל RM נקודת -r ב אותו אופן אני יכול rm -rf *. 599 00:27:51,390 --> 00:27:53,140 סופו של דבר הם להשיג את אותו הדבר. 600 00:27:53,140 --> 00:27:56,040 rm -rf נקודה הוא הולכת להסרת במדריך הנוכחי כולו. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> אישור, שאני לא רוצה לעשות שם. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 אבל למצוא נקודה. 605 00:28:04,320 --> 00:28:07,920 אז באופן רקורסיבי חיפוש הנוכחי ספרייה, ועכשיו כל מה ש 606 00:28:07,920 --> 00:28:14,125 אחרי זה היא חבורה של דגלים ש להשתמש בו כדי להוציא את הדברים מהתמורה. 607 00:28:14,125 --> 00:28:17,250 אז למצוא נקודה מחזירה את כל מה ש יכול למצוא מהספרייה הנוכחית. 608 00:28:17,250 --> 00:28:19,700 כל אלה הם הקבצים באופן רקורסיבי חיפוש. 609 00:28:19,700 --> 00:28:21,250 נצטרך לראות כמה מאלה בשניים. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> אבל במקרה שאתה תוהה איך אני עושה כי, כך הפיקוד K, לכל הפחות 612 00:28:27,140 --> 00:28:29,660 במסוף שלי בMac מנקה אותו. 613 00:28:29,660 --> 00:28:34,660 שליטת L בדרך כלל מנקה בו לכל סוג של מסוף. 614 00:28:34,660 --> 00:28:36,480 ניתן גם להקליד ברור. 615 00:28:36,480 --> 00:28:38,410 ואם אי פעם לקבל לscenario-- מוזר 616 00:28:38,410 --> 00:28:42,790 זה קרה לי כמה time-- שבו הצבעים של ההנחיות שלך 617 00:28:42,790 --> 00:28:46,590 כולם פישל, או שאתה הם לא מסוגלים לראות שום דבר 618 00:28:46,590 --> 00:28:51,232 מוקלד כאשר אתה מקליד, כי לפעמים כמו צבע רקע מוגדר 619 00:28:51,232 --> 00:28:53,940 זהה לצבע החזית ועכשיו אתה לא יכול לראות את הגופנים. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 איפוס הוא משהו שפשוט מחזיר לך הרקע השחור ברירת המחדל, 622 00:28:59,830 --> 00:29:01,840 כניסה לבנה, או מה ש אתה מגדיר אותם. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> אז איפה היינו? 625 00:29:04,790 --> 00:29:05,930 מצא את הנקודה. 626 00:29:05,930 --> 00:29:09,360 אז עכשיו כל מה שעבר זה נקודה מגבילה את התוצאות 627 00:29:09,360 --> 00:29:11,450 למשהו שמתאים ל הדפוס שניתן. 628 00:29:11,450 --> 00:29:16,110 אז הנה אני רוצה לחפש כל מה שעם שם החתול. 629 00:29:16,110 --> 00:29:17,300 אני לא קיבלתי שום דבר. 630 00:29:17,300 --> 00:29:18,390 למה זה המקרה? 631 00:29:18,390 --> 00:29:21,230 ובכן, אני רק מחפש משהו עם בדיוק את שם החתול. 632 00:29:21,230 --> 00:29:25,150 אם אני רוצה לחפש משהו שיש לו איזה דפוס, וcat-- 633 00:29:25,150 --> 00:29:28,890 הציטוטים מבחינה טכנית אין צורך, אבל אני זורק אותם לשם. 634 00:29:28,890 --> 00:29:32,720 אז עכשיו הוא מוצא catcat כי זה הדבר היחיד ש 635 00:29:32,720 --> 00:29:36,040 יש כמה שרירותי דפוס ואחריו חתול. 636 00:29:36,040 --> 00:29:41,950 אני יכול לשים את * חתול, ועכשיו למצוא catcat, cat_dog, cat2, 637 00:29:41,950 --> 00:29:45,245 בגלל כל אלה הם הדברים עם חתול בתחילת ואחריו שום דבר. 638 00:29:45,245 --> 00:29:46,120 אתה יכול לשלב את זה. 639 00:29:46,120 --> 00:29:50,480 אם אתה רוצה לחפש את כל קבצי C שיש לך, אתה יכול לעשות * .c. 640 00:29:50,480 --> 00:29:51,960 יש לנו blah.c כאן. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 אז זה עובד למצוא. 643 00:29:55,020 --> 00:29:55,770 אתה יכול לחפש. 644 00:29:55,770 --> 00:29:58,270 יש לו חבורה של דגלים כל להגבלות נוספות. 645 00:29:58,270 --> 00:30:00,960 ואחד עליהם, נניח -d. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 אז מיושן. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 אה, זה לא מה שאני רוצה. 650 00:30:06,550 --> 00:30:07,730 לא -d. 651 00:30:07,730 --> 00:30:08,860 סוג ד. 652 00:30:08,860 --> 00:30:13,820 אז למצוא נקודה - ד הסוג. 653 00:30:13,820 --> 00:30:17,760 אז מה שעשה כרגע הוא שאני מחפש לכל הקבצים בספרייה הנוכחית 654 00:30:17,760 --> 00:30:21,680 עם a-- ד עומד על סוג ספריית directory--. 655 00:30:21,680 --> 00:30:24,430 זה מחזיר את כל הספריות במדריך הנוכחי. 656 00:30:24,430 --> 00:30:27,670 והסוג F הוא כל קבוע קבצים, כל ספריות שאינן. 657 00:30:27,670 --> 00:30:29,809 אז זה פשוט דוגמא לדרכים אחרות ש 658 00:30:29,809 --> 00:30:32,350 יכול להגביל את החיפוש אחר לא רק את שמו של הקובץ. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> זה היה 30 דקות. 661 00:30:35,570 --> 00:30:36,848 ובכל זאת הולכת. 662 00:30:36,848 --> 00:30:38,132 >> אליסון: אני רוח באמצעות. 663 00:30:38,132 --> 00:30:39,670 זה יהיה בסדר. 664 00:30:39,670 --> 00:30:41,460 >> ROB אודן: אז כמה דברים אחרים. 665 00:30:41,460 --> 00:30:45,700 עכשיו לדפוק, סימן קריאה. 666 00:30:45,700 --> 00:30:50,530 כך שבדרך כלל means-- טוב, בואו יראו את דוגמא. 667 00:30:50,530 --> 00:30:52,230 אז f!, מה שהולך לעשות? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 ובכן נראה שיש לי f מסוג dot למצוא חוזר ונשנה. 670 00:30:57,810 --> 00:30:59,240 מה לגבי ז!? 671 00:30:59,240 --> 00:31:00,760 כי רק grep חתול -r *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 אז לדפוק אתה יכול להשתמש בו כדי לחזור הפקודה לאחרונה נעשתה. 674 00:31:05,720 --> 00:31:13,280 אז אם אני מקליד! GRE, זה הולך להפעיל מחדש את הפקודות שהחלו עם GRE ביותר 675 00:31:13,280 --> 00:31:14,060 לאחרונה. 676 00:31:14,060 --> 00:31:17,090 >> ואתה יכול לראות את כל אלה פקודות עם ההיסטוריה. 677 00:31:17,090 --> 00:31:17,880 אז ההיסטוריה. 678 00:31:17,880 --> 00:31:19,630 כל אלה פקודות שמפעיל כיום. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 וגם, זה לא ממש מוגבל היום ל, 681 00:31:23,130 --> 00:31:25,180 אבל אני השתמשתי רק זה מכשיר נכון להיום. 682 00:31:25,180 --> 00:31:28,730 זה השלמות שלך היסטוריה של פגז bash שלך, 683 00:31:28,730 --> 00:31:30,433 מלבד זה קוטע את בשלב מסוים. 684 00:31:30,433 --> 00:31:33,474 קהל: מה קורה אם אתה עושה היסטוריה פקודה [לא ברור] ושגיאה 685 00:31:33,474 --> 00:31:35,430 בתוצאה עדיין יהיה להדפיס the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB אודן: כן, אם יש שגיאה באחד commands-- אלה 687 00:31:44,110 --> 00:31:48,090 אז נניח, ש פקודת השגיאה לא נמצאה. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 עדיין מופיע בהיסטוריה. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 בְּסֵדֶר. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 שאלות אחרות על כל דבר? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 אז זה מפץ. 696 00:32:00,300 --> 00:32:04,230 >> עכשיו, הפקודה באמת שימושית, גבר. 697 00:32:04,230 --> 00:32:07,750 אז זה נותן לך מדריך לפקודה מסוימת. 698 00:32:07,750 --> 00:32:11,640 אז בואו נגיד שls אדם, כך זה מראה לי ls. 699 00:32:11,640 --> 00:32:13,400 הוא מפרט את תוכן ספרייה. 700 00:32:13,400 --> 00:32:17,150 וזה המקום שאני רואה שיש הם אלה דגלים שונים שקיימים. 701 00:32:17,150 --> 00:32:21,340 כך אנו רואים ש ls -l קיים אם היינו קורא את זה. ls -l 702 00:32:21,340 --> 00:32:26,150 נותן לי את רשימה מלאה של ספרייה עם מי בעלים של הקובץ, 703 00:32:26,150 --> 00:32:29,750 גודלו של הקובץ, חותמת הזמן שונה. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 אז -a ls הוא עוד אחד שאתה אולי למעשה משתמש בתדירות גבוהה במקצת. 706 00:32:34,980 --> 00:32:38,130 -al הוא הדגל הנפוץ ביותר שלי ls האחרון. 707 00:32:38,130 --> 00:32:42,520 >> אז -a, שם לב שיש הרבה יותר מאשר רק קבצי ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 מה במשותף עם כל הקבצים הללו? 710 00:32:46,170 --> 00:32:47,790 הם מתחילים עם נקודה. 711 00:32:47,790 --> 00:32:54,710 אז זה כנס בלינוקס ש קבצים שמתחילים בנקודה מוסתרים. 712 00:32:54,710 --> 00:32:58,330 אז זה רק אומר ש כאשר אנחנו רק ls ישר, 713 00:32:58,330 --> 00:33:04,170 או שאנחנו מחפשים בספרייה זו באמצעות שווה הערך מאתר, או Windows 714 00:33:04,170 --> 00:33:07,250 שווה Explorer, ש לא רוצה לראות את קבצי הנקודה הבאים. 715 00:33:07,250 --> 00:33:09,680 הם פשוט לזהם את התצוגה של דברים. 716 00:33:09,680 --> 00:33:11,790 אז הם מוסתרים אלא אם כן אתה באופן ספציפי 717 00:33:11,790 --> 00:33:14,250 לבקש אותם עם משהו כמו -a. 718 00:33:14,250 --> 00:33:18,920 אז אני יכול CD ל.local, ואני רואה שהוא בעצמו ספרייה עם 719 00:33:18,920 --> 00:33:22,220 ספרייה משותפת, ו יישומים, ובלה בלה בלה. 720 00:33:22,220 --> 00:33:24,520 אז נקודה, קבצים שהם פשוט מוסתרים. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> אישור, חשובים שבם כל כך אחרים. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 יש לי כמה אני יכול לדלג. 725 00:33:32,000 --> 00:33:38,160 בואו נדבר מהירים רק אמת על הדברים ניתוב מחדש של קובץ. 726 00:33:38,160 --> 00:33:43,020 אז יש סדרה מורכבת כולה דברים שאתה יכול לעשות עם אלה, 727 00:33:43,020 --> 00:33:47,204 אבל רק כדי לראות אותם, נניח, הד. 728 00:33:47,204 --> 00:33:47,870 פקודה אחרת. 729 00:33:47,870 --> 00:33:48,920 הפקודה באמת מטומטמת. 730 00:33:48,920 --> 00:33:50,710 האם כל זה הוא הדפסה מה שאני אומר את זה ל. 731 00:33:50,710 --> 00:33:52,070 אז הד שלום. 732 00:33:52,070 --> 00:33:53,850 זה פשוט הדהד שלום למסך. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 שלום עולם. 735 00:33:56,390 --> 00:33:57,890 הדי שלום עולם. 736 00:33:57,890 --> 00:34:02,650 >> אז פקודה אחת או אחד סמל שbash מבין 737 00:34:02,650 --> 00:34:07,620 זה גדול יותר מסמל, ו כי הוא הפלט לסמל קובץ. 738 00:34:07,620 --> 00:34:10,940 אז אם אני פלט זה ל foo, יש עכשיו קובץ 739 00:34:10,940 --> 00:34:15,100 בשם foo, בתוך שהוא שלום עולם. 740 00:34:15,100 --> 00:34:18,489 אז שם לב שכשאני הד שלום צינור עולם לfoo, 741 00:34:18,489 --> 00:34:19,980 זה לא הדהד שלום עולם. 742 00:34:19,980 --> 00:34:22,630 במקום זאת הוכנסה לקובץ foo. 743 00:34:22,630 --> 00:34:25,340 ופקודה אחרת רק לזרוק אותה עליך, חתול. 744 00:34:25,340 --> 00:34:29,191 זה דרך קלה פשוט לחלוטין רשימה של תוכן הקובץ 745 00:34:29,191 --> 00:34:31,440 כך שאני לא צריך לפתוח עורך טקסט כדי להציג אותו. 746 00:34:31,440 --> 00:34:34,159 כך שהתוכן של קובץ foo הוא עולם שלום. 747 00:34:34,159 --> 00:34:38,460 ואני יכול blah.c חתול, התוכן הוא זה. 748 00:34:38,460 --> 00:34:42,123 >> שוב, אלה הם פקודות ש, לא מצפה לך אותם כל שינן. 749 00:34:42,123 --> 00:34:43,860 הרעיון הוא שראית אותם. 750 00:34:43,860 --> 00:34:45,735 אולי אתה עובד על משהו, ואתה 751 00:34:45,735 --> 00:34:47,230 כמו נמאס לי מפתיחת קובץ זה. 752 00:34:47,230 --> 00:34:50,120 אני מאחל רק יכולתי להסתכל בתוכן מהיר אמיתי. 753 00:34:50,120 --> 00:34:52,320 אתה יכול לעשות את זה, אז להסתכל אחורה ולומר, הו, אני 754 00:34:52,320 --> 00:34:55,250 זוכר משהו כמו שקיים, וזה חתול. 755 00:34:55,250 --> 00:35:00,630 >> כך שהיא הולכת לקובץ. 756 00:35:00,630 --> 00:35:06,639 עכשיו אין באמת טוב דוגמא לקריאה מקובץ עדיין. 757 00:35:06,639 --> 00:35:08,930 מה זה משהו שלוקח משהו מרגיל ב? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 כל פקודה לינוקס פשוט? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 כשאנחנו מגיעים לזה, בכמה שבועות כל piece-- גם, 762 00:35:16,970 --> 00:35:20,470 השבוע יש לך חתיכה שבו אתה להתחיל לקחת קלט מהמשתמש. 763 00:35:20,470 --> 00:35:23,696 ולכן בדרך כלל אתה מקליד קלט שבמקלדת. 764 00:35:23,696 --> 00:35:25,570 במקום להקליד ש קלט במקלדת, 765 00:35:25,570 --> 00:35:30,950 במקום שאתה יכול צינור במקובץ כך שכאשר אתה עושה את מריו, ./mario, 766 00:35:30,950 --> 00:35:35,200 צינור בכל קובץ נתון, ו זה הולך להפעיל את תכנית מריו. 767 00:35:35,200 --> 00:35:37,300 לא ציפיתי לקלט ב המקלדת, במקום זה 768 00:35:37,300 --> 00:35:39,650 רק הולך לקרוא קווים מקובץ foo. 769 00:35:39,650 --> 00:35:45,230 >> אז גדול מfoo מכניס לתוכו קובץ foo, ופחות מ foo 770 00:35:45,230 --> 00:35:50,170 לוקח דברים מקובץ foo ו משתמש שכקלט לתכנית זו. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 ורק כדי לראות את זה, אנחנו יכולים גם הד באז foo בר, ולאחר מכן במקום אחד 773 00:36:00,630 --> 00:36:03,850 גדול מ, בואו נעשה את שני לfoo. 774 00:36:03,850 --> 00:36:05,610 מה זה עושה? 775 00:36:05,610 --> 00:36:07,180 זה פשוט מצרף לקובץ. 776 00:36:07,180 --> 00:36:15,360 אז במקום לשים לב אם אני הד בלה ל foo ולאחר מכן foo חתול, זה רק בלה. 777 00:36:15,360 --> 00:36:18,285 לכן, כאשר אתה פלט לקובץ, זה מחליף לגמרי את הקובץ. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 אם אתה רק רוצה להוסיף, כפול [? תלמיד כיתה. ?] 780 00:36:22,740 --> 00:36:24,080 >> ואחרון הוא צינור. 781 00:36:24,080 --> 00:36:29,590 צינור מקבל הרבה יותר מסובך, שבו זה לוקח את הפלט של פקודה אחת 782 00:36:29,590 --> 00:36:32,320 ומזין אותו לפקודה הבאה. 783 00:36:32,320 --> 00:36:36,140 אז כמה דבר שכיח, היסטוריה. 784 00:36:36,140 --> 00:36:37,920 אז, איכס, אני לא רוצה להסתכל על זה. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 תראה לי את כל הפקודות בהיסטוריה שלי איפה אני grep-ED למשהו. 787 00:36:44,485 --> 00:36:45,360 לא, זה מבלבל. 788 00:36:45,360 --> 00:36:50,360 תראה לי את כל הפקודות שבו אני מוצא. 789 00:36:50,360 --> 00:36:52,360 כל למצוא פקודות שאי פעם רצנו. 790 00:36:52,360 --> 00:36:55,050 >> אז ההיסטוריה. 791 00:36:55,050 --> 00:36:59,017 עכשיו תפוקות היסטוריה ל מסך זה רשימה של פקודות, 792 00:36:59,017 --> 00:37:00,850 אבל אני לא רוצה פלטת אותו למסך. 793 00:37:00,850 --> 00:37:03,445 במקום זאת אני הולך בצינור לgrep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 אז בואו grep לכל המופעים של ממצא. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 אז עכשיו במקום לקחת grep הקלט, במקום של-- 798 00:37:17,000 --> 00:37:24,360 grep הוא מסוגל להתמודד עם כinput-- אנחנו באמצעות grep בצורה קצת שונה כאן. 799 00:37:24,360 --> 00:37:29,550 אז במקום להקליד את רשימת דברים שאנחנו רוצים לחפש 800 00:37:29,550 --> 00:37:31,070 ואמר grep הוא לוקח כקלט. 801 00:37:31,070 --> 00:37:34,810 אז אם אני פשוט grep למצוא, זה מחכה לי להקליד את הדברים. 802 00:37:34,810 --> 00:37:37,661 אז חתול למצוא שלום. 803 00:37:37,661 --> 00:37:38,160 שלום. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 מצא את. 806 00:37:40,930 --> 00:37:43,670 שים לב בכל פעם שאני מקליד למצוא היא מכירה בכך שהקלדתי למצוא. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 אז במקום זה, יהיה חיפוש קבצים למציאה. 809 00:37:49,540 --> 00:37:53,930 >> אז ההיסטוריה היא עכשיו הולכת ל פלט רשימה של כל הפקודות. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 אנחנו שמים את הפלט ש, ואנחנו מאכילים אותו לgrep, 812 00:37:58,100 --> 00:38:00,180 ואז זה לירוק כל המופעים של ממצא. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 הסיבה שאמרתי את זה הייתי מבלבל הוא אם אני- זה עדיין מבלבל. 815 00:38:05,570 --> 00:38:07,030 אם אני grep לgrep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 שימו לב שזה פחות או יותר תמיד מראה את הפקודה אני רק 818 00:38:11,130 --> 00:38:15,280 רץ בגלל שהפקודה ש יש עצמו grep בתוכו. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> אוקיי, אז שאלות על כל דבר? 821 00:38:20,674 --> 00:38:22,340 ואני נעביר אותו מעל בשלב זה. 822 00:38:22,340 --> 00:38:24,690 אני מקווה שזה נחמד סקירה של כל הפקודות 823 00:38:24,690 --> 00:38:30,100 שאתה לא צריך שיננתי, אבל אלה מרכיבים 824 00:38:30,100 --> 00:38:32,950 95% מוצקים של מה שאני לעשות בשורת הפקודה. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 כמו כן יש לזכור כי בשורת הפקודה עצמו, bash הוא שפת תכנות, 827 00:38:39,140 --> 00:38:43,070 ולכן כאשר אתה מקבל על זה, לך ייתכן שתרצה לעשות דברים באמת מורכבים. 828 00:38:43,070 --> 00:38:47,522 וכך יש לו דברים כמו לולאות, ואילו, וכל אלה 829 00:38:47,522 --> 00:38:50,230 כי אתה הולך להתרגל ל עם שפות תכנות שלך. 830 00:38:50,230 --> 00:38:53,660 אבל זה מעבר ל היקפו של סעיף זה. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 אוקיי, אז אין שאלות? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 אליסון: אין? 835 00:38:58,523 --> 00:38:59,450 גבריאל: האם אתה הולך to-- 836 00:38:59,450 --> 00:39:01,158 אליסון: אני יכול לעשות את זה על שלי אם אתה רוצה. 837 00:39:01,158 --> 00:39:02,626 אנחנו יכולים לראות מה קורה. 838 00:39:02,626 --> 00:39:03,750 ROB אודן: Off לאליסון. 839 00:39:03,750 --> 00:39:05,090 אליסון: וו. 840 00:39:05,090 --> 00:39:07,504 אתה קשה מעשה לעקוב, רוב. 841 00:39:07,504 --> 00:39:08,920 האם אתה רוצה שאני נעבור איתך? 842 00:39:08,920 --> 00:39:10,246 או שיש לך, על אישור. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 אני הולך לנסות ולא די להיות ארוך כמו שיש. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 בואו תראו אם רצון זה עובד כמו שאני רוצה אותו. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 אולי? 849 00:39:26,670 --> 00:39:27,760 850 00:39:27,760 --> 00:39:28,296 Haha! 851 00:39:28,296 --> 00:39:28,796 כן. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> אז אני פשוט הולך מהר מאוד באמצעות משתנים, לולאות, משפטי תנאי, 854 00:39:34,066 --> 00:39:35,440 וקצת על מהדר. 855 00:39:35,440 --> 00:39:38,570 אם יש לך שאלות ב כל עת, בבקשה לעצור אותי. 856 00:39:38,570 --> 00:39:42,750 החבר 'ה האלה מזכירים לי לחזור השאלה שלך למקרה שאשכח, 857 00:39:42,750 --> 00:39:44,210 אבל לא צריך להיות יותר מדי רע. 858 00:39:44,210 --> 00:39:45,850 >> אז משתנה, כן. 859 00:39:45,850 --> 00:39:48,060 אין לנו אחד משלך חתיכות שריטה כאן. 860 00:39:48,060 --> 00:39:50,440 אני בטוח שרובכם, אם היה לך איזה משחק 861 00:39:50,440 --> 00:39:53,810 שיצרת עם גרד, היה לך כדי לעקוב אחר משהו כמו ציון, 862 00:39:53,810 --> 00:39:55,870 או זמן, או משהו כזה. 863 00:39:55,870 --> 00:39:58,080 אז כתום הבהירים אלה חלקים שאנחנו רואים שם 864 00:39:58,080 --> 00:40:02,630 רק צורת Scratch של משתנים, ואתה בהחלט 865 00:40:02,630 --> 00:40:04,640 להיות שימוש במשתנים בכל התוכניות שלך. 866 00:40:04,640 --> 00:40:07,350 אם אתה לא, אני לא ממש בטוח מה שאתה עושה. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> אבל בכל מקרה, דבר גדול, הגדרת משתנים. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 עם C כל משתנה יש יש סוג הכריז, 871 00:40:16,970 --> 00:40:22,090 כך שנתתי לך מאוד כללי אחד בראש. 872 00:40:22,090 --> 00:40:24,045 כך יהיה לך שלך הקלד ולאחר מכן כל מה ש 873 00:40:24,045 --> 00:40:25,420 אתה מחליט לקרוא למשתנה שלך. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 אז במקרה, זה סוג ברשימה משתנית. 876 00:40:29,680 --> 00:40:31,400 >> יש לנו שלוש דוגמאות. 877 00:40:31,400 --> 00:40:34,439 תווים של כמה כיתה, של, וזה מה ש 878 00:40:34,439 --> 00:40:36,230 אני בטוח שכל מה שאתה רוצה כדי לקבל בכיתה זו. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 ניתן להגדיר מספר רב של משתנים בשורה אחת 881 00:40:40,670 --> 00:40:43,880 כל עוד הם כולם מאותו הסוג, אשר היא הדוגמא השנייה שלנו שם 882 00:40:43,880 --> 00:40:46,409 שבו יש לך שלוש משתנים, x, y, z. 883 00:40:46,409 --> 00:40:47,200 הם כולם צף. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 ואז אתה יכול גם, בזה אחרון דוגמא עם ציון int ומספר 886 00:40:53,250 --> 00:40:56,510 צוותי, שאתה יכול לאתחל אותם שם. 887 00:40:56,510 --> 00:41:01,270 >> אז בדוגמא האמצעית שבו אנו רק צריך לצוף של x, y, z, 888 00:41:01,270 --> 00:41:02,730 אלה אינם מאותחלים עדיין. 889 00:41:02,730 --> 00:41:04,140 אין להם שום ערך. 890 00:41:04,140 --> 00:41:05,600 או שיש להם ערכי זבל. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 ואם אתה מנסה ולהשתמש בם, המהדר לצעוק עליך. 893 00:41:10,790 --> 00:41:14,727 אתה צריך גם להכריז ו לאתחל המשתנים שלך. 894 00:41:14,727 --> 00:41:16,310 אז בזה אחרון, אנחנו עושים את שניהם. 895 00:41:16,310 --> 00:41:19,320 אנחנו הצהרה על משתנה של ציון ומספר צוותי, 896 00:41:19,320 --> 00:41:24,134 ואנחנו מאתחלים אותם, נותנים לי שלהם הערכים הראשוניים שלהם של 7 ו 4 897 00:41:24,134 --> 00:41:24,675 בהתאמה. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 מגניב. 900 00:41:27,190 --> 00:41:28,550 כולם טובים? 901 00:41:28,550 --> 00:41:29,470 מדהים. 902 00:41:29,470 --> 00:41:31,690 >> אוקיי, אז יש כמה מוסכמות. 903 00:41:31,690 --> 00:41:35,965 אם אתם קראתם דרך סגנון 50, אלה 904 00:41:35,965 --> 00:41:39,510 רק דברים שאנחנו רוצים ל לך ליישם בסגנון שלך. 905 00:41:39,510 --> 00:41:41,230 שמות כל כך משמעותיים. 906 00:41:41,230 --> 00:41:45,700 אם אתה מתחיל לקרוא את הדברים רק x, y, z, במיוחד 907 00:41:45,700 --> 00:41:47,902 כפי שאתה להיכנס לארוך יותר תוכניות, אתה 908 00:41:47,902 --> 00:41:49,610 כנראה הולך לבלבל את עצמך ולהיות 909 00:41:49,610 --> 00:41:52,930 כמו מה שמשתנה זה מתייחס ל. 910 00:41:52,930 --> 00:41:55,880 אין לי מושג מה זה אומר. 911 00:41:55,880 --> 00:41:59,280 >> אז אם זה אמור להחזיק ציון, קורא לזה ציון. 912 00:41:59,280 --> 00:42:05,720 אם זה אמור להחזיק כמה תשובה או לגרום, לתת לה שם כמו ש. 913 00:42:05,720 --> 00:42:09,920 ללולאות, שבו אנו להיכנס בשקופית הבאה, 914 00:42:09,920 --> 00:42:12,985 משתני אות אחת הם בסדר גמור. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB אודן: אני, j, ו- k הם רק אמנות ללולאות 917 00:42:18,449 --> 00:42:22,050 שכולם מצפה להם שייקרא i, j, ו- k. 918 00:42:22,050 --> 00:42:26,890 אתה יכול לקרוא them-- אני רואה שורה לפעמים עמודה או שורת שיחה 919 00:42:26,890 --> 00:42:29,450 לשתי לולאות מקוננות, ו זה גם סוג של סטנדרט. 920 00:42:29,450 --> 00:42:31,450 אבל i ו j מובן לחלוטין. 921 00:42:31,450 --> 00:42:33,670 >> אליסון: כן, אני ו j אתה בסדר גמור. 922 00:42:33,670 --> 00:42:36,250 לשם בהירות כמו בחלק מקבוצות P שלך, 923 00:42:36,250 --> 00:42:39,745 זה אולי הגיוני יותר דברים תיאורים שם רק 924 00:42:39,745 --> 00:42:40,920 כדי לעקוב אחר זה. 925 00:42:40,920 --> 00:42:45,100 אבל אני חושב שאני, j, k ואני חושב ש רובם המכריע שלנו כל השימוש. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB אודן: עם אלה אמנות, כל כך הסגנון הוא חשובה. 928 00:42:50,340 --> 00:42:53,520 זה אחד מארבעת הצירים שבו אתה מדורג, 929 00:42:53,520 --> 00:42:58,110 וזה כל כך קל פשוט לעבור על P להגדיר בסוף ולוודא 930 00:42:58,110 --> 00:42:59,770 שאין טעויות סגנוניות. 931 00:42:59,770 --> 00:43:01,742 אז לוודא שאתה tabbing בצורה נכונה. 932 00:43:01,742 --> 00:43:03,200 ודא המשתנים שלך בשם. 933 00:43:03,200 --> 00:43:04,450 השאר כמה הערות. 934 00:43:04,450 --> 00:43:06,677 זה מאוד קל להשיג נקודות אלה. 935 00:43:06,677 --> 00:43:09,510 אתה לא צריך לחשוב על שום דבר כדי לקבל נקודות אלה. 936 00:43:09,510 --> 00:43:11,093 אתה לא צריך להבין שום דבר. 937 00:43:11,093 --> 00:43:12,640 זה רק עושה את זה נראה יפה. 938 00:43:12,640 --> 00:43:14,850 >> אליסון: למעשה, אנחנו יש לי סגנון 50, ש 939 00:43:14,850 --> 00:43:17,920 אגיד לך שבו אתה מתעסק למעלה אם אתה להתעסק בסגנון 940 00:43:17,920 --> 00:43:21,180 ואגיד לך בדיוק מה שאתה צריך לתקן ואיך אתה צריך לתקן את זה. 941 00:43:21,180 --> 00:43:23,900 זה גם רק טוב להזכיר שזה כמובן מדיניות 942 00:43:23,900 --> 00:43:27,200 כי אם אתה במשרד שעות והקוד שלך הוא בלגן, 943 00:43:27,200 --> 00:43:30,200 אנחנו יכולים לרדת כדי לעזור אתה עד שזה נראה יפה יותר. 944 00:43:30,200 --> 00:43:34,310 אז להתחיל תקין, לשמור על סגנון עקבי, 945 00:43:34,310 --> 00:43:37,100 אתה גם רק הולך לעשות חייך הרבה יותר קל כש 946 00:43:37,100 --> 00:43:38,730 אתה מנסה לעבור ניפוי שגיאות. 947 00:43:38,730 --> 00:43:41,510 אם אתה מנסה להבין שבו אתה חסר ישע מתולתל 948 00:43:41,510 --> 00:43:44,890 והם בכל המקום, אתה רק עושה את החיים שלך יותר קשה. 949 00:43:44,890 --> 00:43:47,217 אז בקנה אחד עם סגנון. 950 00:43:47,217 --> 00:43:48,800 אני מבטיח שזה יעשה את החיים קלים יותר. 951 00:43:48,800 --> 00:43:50,330 זה יהיה להפוך את חיינו לקלים יותר. 952 00:43:50,330 --> 00:43:51,869 כולם יהיה הרבה יותר מאושרים. 953 00:43:51,869 --> 00:43:52,910 וזה מה שאתה רוצה. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 גבריאל: הכיתה שלך תהיה גבוהה יותר. 956 00:43:55,650 --> 00:43:56,858 אליסון: כן, והכיתה שלך. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 אם TF שלך כמו שאתה, נוטה להיות חיובי. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 בסדר, ואז פשוט הנקודה השנייה כאן. 961 00:44:05,010 --> 00:44:06,300 אתחולים בקנה אחד. 962 00:44:06,300 --> 00:44:09,605 אז כפי שראינו, אתה יכול להכריז ולאתחל את הדברים. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 משתנים מרובים על אותו הקו. 965 00:44:13,180 --> 00:44:17,930 דבר אחד אנחנו רוצים אותך לא לעשות הוא להכריז על חלק ממשתנים 966 00:44:17,930 --> 00:44:21,360 ולא לאתחל אותם על אותו קו שאתה אתחול אחר. 967 00:44:21,360 --> 00:44:23,960 >> אז במקרה שגרם לא הגיוני, שהיא 968 00:44:23,960 --> 00:44:29,050 יש לנו הדוגמא כאן לאן אנחנו מכריזים ints 969 00:44:29,050 --> 00:44:31,180 במשתנים של רבעונים מטבעות ופרוטות, 970 00:44:31,180 --> 00:44:34,214 אבל רבעים ופרוטות אין להם ערך ראשוני. 971 00:44:34,214 --> 00:44:36,630 אנחנו לא אותחלנו, אבל ממש באמצע יש 972 00:44:36,630 --> 00:44:38,600 אנחנו כבר אותחלו מטבעות ל -0. 973 00:44:38,600 --> 00:44:41,650 אז או שיעשה רבעים, מטבעות, פרוטות. 974 00:44:41,650 --> 00:44:43,170 או לעשות רבעים שווים 0. 975 00:44:43,170 --> 00:44:43,930 פרוטות שווה 0. 976 00:44:43,930 --> 00:44:46,810 פרוטות שווים 0, או מה ש ערכים הראשוניים אלה. 977 00:44:46,810 --> 00:44:49,800 >> דבר גדול עם סגנון, להיות עקבי. 978 00:44:49,800 --> 00:44:51,050 במקרה של ספק, להיות עקבי. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 אבל לעקוב אחרי מדריך הסגנון שלנו גם. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 מגניב. 983 00:44:55,317 --> 00:44:56,150 כולם טוב שם? 984 00:44:56,150 --> 00:44:57,566 >> קהל: איפה מדריך הסגנון? 985 00:44:57,566 --> 00:45:00,800 אליסון: מדריך הסגנון הוא on-- מה באתר? 986 00:45:00,800 --> 00:45:03,950 >> גבריאל: אני חושב שזה manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 אליסון: סגנון? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> גבריאל: סגנון. 990 00:45:06,390 --> 00:45:06,920 כן. 991 00:45:06,920 --> 00:45:07,520 >> אליסון: כן. 992 00:45:07,520 --> 00:45:10,150 אז שאלה של, שבו הוא בסגנון 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 כן? 995 00:45:13,639 --> 00:45:16,880 >> קהל: אם אנחנו מגדירים משתנים, האם זה בסדר 996 00:45:16,880 --> 00:45:28,145 אם אנחנו שמים כמו [לא ברורים] כמו ציון int, ואז int מטרה. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 אז היית אומר שעכשיו יש לנו יש להגדיר אותם ביחד? 999 00:45:35,100 --> 00:45:37,640 >> אליסון: אז שאלה, צריך יש לך קוד מיותר 1000 00:45:37,640 --> 00:45:40,940 כאשר אתה מגדיר משתנה כגון ציון int ו 1001 00:45:40,940 --> 00:45:43,239 על משחק int השורה הבא? 1002 00:45:43,239 --> 00:45:46,030 ROB אודן: יש בהחלט מקרים שבם קוד מיותר הוא רע. 1003 00:45:46,030 --> 00:45:47,738 לא הייתי מחשיב את כי קוד מיותר. 1004 00:45:47,738 --> 00:45:50,970 אני כמעט אף פעם לא להכריז מרובה משתנים על אותו הקו אי פעם. 1005 00:45:50,970 --> 00:45:53,736 ואם משהו, זה בגלל ש בדרך כלל אני משאיר איזה תגובה 1006 00:45:53,736 --> 00:45:55,235 להסביר מה הוא משתנה ל. 1007 00:45:55,235 --> 00:45:57,582 אז אני אגיד את קו נטוי קו נטוי ציון int. 1008 00:45:57,582 --> 00:45:59,350 עוקב אחר כל מה ש. 1009 00:45:59,350 --> 00:46:00,710 בסך הכל קו נטוי קו נטוי. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 כך שזה הרבה Grosser שבדרך לשים את כולם על אותו הקו. 1012 00:46:06,455 --> 00:46:08,080 אני פשוט אף פעם לא לשים אותם באותה השורה. 1013 00:46:08,080 --> 00:46:10,580 >> אליסון: אני מרגיש שזה העדפה אישית בשלב זה. 1014 00:46:10,580 --> 00:46:14,900 >> קהל: האם זה הולך ל ללולאות ודברים יותר מדי? 1015 00:46:14,900 --> 00:46:15,900 ROB אודן: כמו בפנים? 1016 00:46:15,900 --> 00:46:18,282 כמו int i שווה 0 פסיק אורך שווה משהו? 1017 00:46:18,282 --> 00:46:19,490 כי אין לך ברירה. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 עם לולאות האתחול part-- כך שאתה יכול לראות רק 1020 00:46:25,910 --> 00:46:31,520 int i שווה 0 פסיק אני פחות מ כל פסיק אני פלוס פלוס. 1021 00:46:31,520 --> 00:46:33,820 כי אני int שווה 0, מבחינה טכנית אתה יכול גם 1022 00:46:33,820 --> 00:46:35,770 לעשות את מה שראינו לפני עם תחביר הפסיק. 1023 00:46:35,770 --> 00:46:39,790 int i שווה j 0 פסיק שווה 3 k הפסיק שווה 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 אין לך ברירה לפצל כי עד לקווים מרובים, 1026 00:46:44,320 --> 00:46:46,530 וזה סטנדרטי. 1027 00:46:46,530 --> 00:46:47,780 רואה את זה שם יפה. 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 אליסון: מדהים. 1030 00:46:49,890 --> 00:46:52,120 ובכן, Segue הנוח ללולאות. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 אז כן, יש לנו כאן כמה דוגמאות של לולאות שאתם ראו בהתחלה. 1033 00:46:58,980 --> 00:47:01,550 וכמובן כל אלה יכול רק ליצור מחדש בג 1034 00:47:01,550 --> 00:47:04,610 והם בעצם מאפשרים לך לחזרה על מקטע מסוים של קוד 1035 00:47:04,610 --> 00:47:06,740 עד מצב מסוים הוא נפגש, אשר נשלח 1036 00:47:06,740 --> 00:47:09,198 להיכנס מייד אחרי מדבר על לולאות עם תניות. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> אז יש לנו שלושה סוגים עיקריים. 1039 00:47:12,570 --> 00:47:17,500 ל, ואילו, ובזמן שתעשה, ש כולנו נעבור עכשיו. 1040 00:47:17,500 --> 00:47:18,860 אז ראשון הוא ללולאות. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 אז לכמה מצב, לבצע הבלוק הזה של קוד. 1043 00:47:25,034 --> 00:47:27,200 יש לנו קצת קריר זה לשרטט כאן בתחתית. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 אבל בעצם יש לך ב לך, שהשורה הראשונה, 1046 00:47:32,310 --> 00:47:34,240 אתה הולך לאתחל המשתנים שלך. 1047 00:47:34,240 --> 00:47:38,260 >> אז כמו שדיברנו עליו, הוא אני שווה 0 או שאני שווה 10. 1048 00:47:38,260 --> 00:47:40,010 לא משנה מה אתה צריך את זה משתנה להיות זה 1049 00:47:40,010 --> 00:47:43,970 הולך להיות מאותחלים יש, הוכרז ואותחל לערך כלשהו. 1050 00:47:43,970 --> 00:47:46,760 אז יש לנו כמה מצב זה הולך 1051 00:47:46,760 --> 00:47:48,900 להיות בדיקה שלנו משתנה נגד משהו. 1052 00:47:48,900 --> 00:47:55,220 אז במקרה המקרה הטיפוסי שבי אולי אתה רוצה חלק זה של קוד 1053 00:47:55,220 --> 00:47:56,620 לבצע חמש פעמים. 1054 00:47:56,620 --> 00:48:02,380 ככה שהיינו צריך int i שווה 0, ואנחנו רוצה שזה יהיה כאשר הוא אני פחות מ -5. 1055 00:48:02,380 --> 00:48:04,940 אז מצב זה רק הולך לבדוק שכל פעם. 1056 00:48:04,940 --> 00:48:07,120 אם תנאי ש מעריך לנכון, זה 1057 00:48:07,120 --> 00:48:11,162 הולך להריץ את הקוד, וזה בדיוק מה התרשים הקטן הזה מראה. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> וכך מבצע אותה. 1060 00:48:13,639 --> 00:48:15,430 הוא מעדכן משתנה, וזה מה שאנו רואים 1061 00:48:15,430 --> 00:48:21,020 בחלקו האחרון של לנו אתחול לולאה יש. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 אז זה פשוט להמשיך לעשות את זה עד שהמצב שלא נפגש, 1064 00:48:26,030 --> 00:48:28,010 ואז זה יהיה לצאת הלולאה ולהמשיך 1065 00:48:28,010 --> 00:48:29,960 נע על עם שאר התכנית שלך. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 כולם טוב שם? 1068 00:48:33,620 --> 00:48:34,440 מגניב. 1069 00:48:34,440 --> 00:48:37,780 >> אז הנה דוגמא, דומה מאוד למשהו שאני פשוט דיברתי על. 1070 00:48:37,780 --> 00:48:42,030 אז אנחנו פשוט רוצים להדפיס זה CS50 10 פעמים. 1071 00:48:42,030 --> 00:48:44,540 אז אתה רואה כאן יש לנו לנו, ואז אנחנו 1072 00:48:44,540 --> 00:48:47,450 לאתחל משתנה אני להיות שווה ל -0. 1073 00:48:47,450 --> 00:48:50,610 המצב שלנו הוא לבדוק שזה פחות מ -10. 1074 00:48:50,610 --> 00:48:55,210 אז להעריך לנכון כאשר אנו ראשון להתחיל, ולאחר מכן מעדכן את המשתנה שלנו 1075 00:48:55,210 --> 00:48:58,985 בכל פעם שזה באמת מבצע ומדפיס את זה CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 ויסתיים אחרי 10 פעמים. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 מגניב. 1080 00:49:04,070 --> 00:49:07,130 >> וכך, בעוד לולאות הן ליד. 1081 00:49:07,130 --> 00:49:12,400 וכפי שאתם רואים כאן, רק שיש לנו כמה זמן ששאלת condition-- זה? 1082 00:49:12,400 --> 00:49:15,238 >> קהל: איך אני יכול לקפוץ למעשה רק לא מספר אחת, 1083 00:49:15,238 --> 00:49:19,030 אבל שני מספרים [לא ברור] אני פלוס פלוס פלוס? 1084 00:49:19,030 --> 00:49:23,390 >> אליסון: אז השאלה הייתה איך אתה יכול לעדכן את משתנה על ידי יותר מאדם אחד 1085 00:49:23,390 --> 00:49:24,070 בכל פעם. 1086 00:49:24,070 --> 00:49:26,860 אז אני פלוס פלוס תהיה עדכון על-ידי אחד בכל פעם. 1087 00:49:26,860 --> 00:49:32,310 אם אתה רוצה לעדכן אותו על ידי שתי, אתה יכול לעשות לי תוספת שווה 2. 1088 00:49:32,310 --> 00:49:34,526 >> ROB אודן: האם ראית בתוספת שווה בהרצאה עדיין? 1089 00:49:34,526 --> 00:49:35,442 >> קהל: [לא ברור]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> אליסון: זה ביעילות אותו דבר כמו שאני שווה אני ועוד 2. 1092 00:49:42,110 --> 00:49:46,130 כך שזה הולך לקחת את זה ו לעדכן אותו על ידי שתיים בכל פעם. 1093 00:49:46,130 --> 00:49:49,432 בתוספת שווה רק משהו אנו קוראים סוכר תחבירי. 1094 00:49:49,432 --> 00:49:52,390 ROB אודן: כן, אלה קיימים ל פחות או יותר כל מפעילי החשבון. 1095 00:49:52,390 --> 00:49:55,830 פעמים אז אני שווה יכפיל את המספר. 1096 00:49:55,830 --> 00:50:02,590 פער j שווה 3 הוא אותו כj שווה j חלקי 3. 1097 00:50:02,590 --> 00:50:07,399 >> אליסון: או מינוס שווה 2 היית הפחה אני על ידי שני בכל פעם. 1098 00:50:07,399 --> 00:50:08,565 ROB אודן: גם שווים mod. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 אתה לא ראית את מפעילים סיביים האופרטור, אבל תו שווה ואמפרסנד שווה, 1101 00:50:13,270 --> 00:50:14,560 כל אלה קיימים. 1102 00:50:14,560 --> 00:50:19,480 >> אליסון: אז הרבה פעמים, במיוחד עם הזוג הראשון שלכם בסטי P, 1103 00:50:19,480 --> 00:50:22,527 אתה בטח הגדלה ידי אחד, אז אני פלוס פלוס, j פלוס פלוס 1104 00:50:22,527 --> 00:50:24,610 כל הדברים שאתה הולך להיות בדרך כלל באמצעות. 1105 00:50:24,610 --> 00:50:28,240 אבל זה מצב עדכון באופן מלא בשליטה שלך. 1106 00:50:28,240 --> 00:50:32,310 אתה יכול לעדכן אותו על ידי כל מה שמרווחים או בכל הדרך שאתה מחליט. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 אולי אתה אפילו רוצה שזה יהיה מספר אקראי לפעמים. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 אבל כן, יש הרבה דברים שאתה יכול לעשות עם זה. 1111 00:50:39,580 --> 00:50:41,280 אתה לא מוגבל לi פלוס פלוס. 1112 00:50:41,280 --> 00:50:44,400 >> ROB אודן: רק כך אתה יודע שהוא קיים, שהוא גם 1113 00:50:44,400 --> 00:50:46,960 קיים בצורה אחרת, בתוספת פלוס אני. 1114 00:50:46,960 --> 00:50:51,410 אז אם אי פעם שאתה מחפש באינטרנט ובמקרה רואה בתוספת פלוס אני, 1115 00:50:51,410 --> 00:50:52,870 פחות או יותר אומר את אותו הדבר. 1116 00:50:52,870 --> 00:50:54,377 1117 00:50:54,377 --> 00:50:54,960 אליסון: מגניב. 1118 00:50:54,960 --> 00:50:56,070 1119 00:50:56,070 --> 00:50:56,740 טוב? 1120 00:50:56,740 --> 00:50:57,240 מדהים. 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 וכך, בעוד לולאות. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 מאוד דומה. 1125 00:51:02,570 --> 00:51:03,737 יש לך כמה מצב. 1126 00:51:03,737 --> 00:51:05,820 הדבר העיקרי שיש לשים לב כאן הוא במקום שיש 1127 00:51:05,820 --> 00:51:08,540 שלושה חלקים שונים כדי להגדיר, יש לנו אחד. 1128 00:51:08,540 --> 00:51:11,090 רק יש לנו כמה מצב זה נבדק. 1129 00:51:11,090 --> 00:51:14,920 ובאותו אופן, כל עוד המצב שמעריך לנכון, 1130 00:51:14,920 --> 00:51:16,840 הקוד שלך הולך לרוץ. 1131 00:51:16,840 --> 00:51:18,870 ואם זה שקר, זה יסתיים, מהלך 1132 00:51:18,870 --> 00:51:21,930 על החלק הבא של התכנית שלך. 1133 00:51:21,930 --> 00:51:25,780 אז זה סוג של like-- מה דוגמא טובה לבדיקה 1134 00:51:25,780 --> 00:51:27,215 עבור חלק מהמצב נורמלי? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 גבריאל: בעוד אמיתי. 1137 00:51:30,235 --> 00:51:32,110 אליסון: אתה יכול לעשות בזמן נכון. 1138 00:51:32,110 --> 00:51:33,510 ובכן, 1 שווה ל 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB אודן: אתה יכול לעשות while-- רק במקום להשתמש בלולאה, 1141 00:51:37,642 --> 00:51:39,600 תמיד אתה יכול קוד ללולאה בתוך לולאה בזמן, 1142 00:51:39,600 --> 00:51:42,600 אז אני גדול מ -0 או בזמן שאני פחות מ -10. 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> אליסון: מדהים. 1145 00:51:46,010 --> 00:51:50,640 ולאחר מכן יש לנו לעשות בזמן לולאות, ש הוא נהדר עבור אימות משתמש, שבו 1146 00:51:50,640 --> 00:51:55,370 אתה רוצה לקבל משהו מ המשתמש שלך, לראות אם זה תקף, 1147 00:51:55,370 --> 00:51:57,060 ולאחר מכן להמשיך משם. 1148 00:51:57,060 --> 00:52:04,000 אז אחת מהדברים שצריכים לדעת הוא ב לעשות בזמן הוא שזה הולך לבצע, 1149 00:52:04,000 --> 00:52:08,000 ואז זה יהיה מחדש לבצע אם תנאי זה מתקיים. 1150 00:52:08,000 --> 00:52:11,240 >> אז כנראה הדרך הטובה ביותר לעשות זאת הוא רק כדי לראות דוגמא כאן. 1151 00:52:11,240 --> 00:52:14,620 אז כמו שהזכרתי זה עתה, משתמשים אימות היא באמת useful-- 1152 00:52:14,620 --> 00:52:17,520 או לעשות whiles באמת שימושי עם אימות משתמש. 1153 00:52:17,520 --> 00:52:19,730 אז זה רק הולך מחדש תנחה כמה משתמשים 1154 00:52:19,730 --> 00:52:23,640 עד שנכנסים למספר חיובי, אשר עשוי להיות שימושי עבור קבוצת P שלך 1155 00:52:23,640 --> 00:52:24,190 השבוע. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 ולכן במקרה זה, כאשר אנו בתחילה להפעיל את התכנית, 1158 00:52:29,480 --> 00:52:32,260 זה הולך להדפיס להזין מספר חיובי. 1159 00:52:32,260 --> 00:52:34,810 זה הולך לקבל קצת קלט מהמשתמש, 1160 00:52:34,810 --> 00:52:38,320 ואז זה הולך לבדוק קלט שנגד המצב 1161 00:52:38,320 --> 00:52:39,500 כי אתה כבר נקבע לו. 1162 00:52:39,500 --> 00:52:41,030 >> אז במקרה הזה זה הולך לבדוק. 1163 00:52:41,030 --> 00:52:44,190 זה הולך לומר, אישור, הוא הקלט שלילי שלנו, 1164 00:52:44,190 --> 00:52:47,175 או שזה 0 או שלילי, אשר יהיה לא חוקי. 1165 00:52:47,175 --> 00:52:48,300 אז זה יהיה מחדש הנחיה. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 שאלה? 1168 00:52:50,780 --> 00:52:54,720 >> קהל: האם זה אותו אז כ בעוד לולאה אם ​​אתה רק העתקת את קוד ש 1169 00:52:54,720 --> 00:52:56,680 ולשים אותו [לא ברור] ואילו לולאה? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> אליסון: אז השאלה הייתה היית זה יהיה אותו הדבר כמו רק בעוד 1172 00:53:05,160 --> 00:53:08,570 לולאה אם ​​היינו רק להעתיק ואילו לולאה מעל. 1173 00:53:08,570 --> 00:53:12,440 אז במקרה הזה, ואילו הלולאה שלך היא הולך לבדוק את התנאי ראשון. 1174 00:53:12,440 --> 00:53:15,300 אז במקרה הזה, אם אנסה לכתוב רק כלולאה בזמן, 1175 00:53:15,300 --> 00:53:18,010 זה הייתי אומר, ו קלט הוא פחות מאחוז אחד. 1176 00:53:18,010 --> 00:53:20,801 אבל אין לנו קלט עבורו. 1177 00:53:20,801 --> 00:53:24,238 >> קהל: אם אתה [לא ברור] בעוד לולאה כולל את הקוד הזה, 1178 00:53:24,238 --> 00:53:28,166 אבל אז אתה התמודד הקוד מעל הלולאה בזמן גם. 1179 00:53:28,166 --> 00:53:31,052 אתה פשוט היה הקוד הזה [לא ברור] ואילו לולאה. 1180 00:53:31,052 --> 00:53:32,760 אליסון: זה יהיה אותו הדבר, כן. 1181 00:53:32,760 --> 00:53:37,110 אז אתה יכול פשוט write-- במקום שיש כן do--. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 גבריאל: אבל זה יותר אלגנטי. 1184 00:53:39,350 --> 00:53:41,020 אליסון: כן, זה יותר אלגנטי. 1185 00:53:41,020 --> 00:53:44,560 אתה יכול להיכנס לעיצוב ומה לא, אבל כן, אתה יכול לגמרי לעשות את זה. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 יש עוד שאלות? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 אישור, מגניב. 1190 00:53:50,250 --> 00:53:55,540 >> אז יש לנו דיברתי הרבה על תנאים עם כל לולאות אלה שיש לנו, 1191 00:53:55,540 --> 00:53:58,615 ולכן אנחנו בעצם נכנסים תנאים בביטויים בוליאני. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 שוב, אתה משתמש אלה ב- C, כל כך פשוט סוג של מעבר 1194 00:54:03,440 --> 00:54:06,050 מממשק גרפי יותר לקידוד למעשה. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> מגניב, כל כך גדול אחד, אם. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 בעצם רק מאפשר לנו להציג קצת היגיון לתכנית ובדיקה שלנו 1199 00:54:17,070 --> 00:54:17,790 תנאי sys. 1200 00:54:17,790 --> 00:54:22,150 אז במקרה הזה, על אישור, הוא n גדול מ -0? 1201 00:54:22,150 --> 00:54:24,070 כן זה הוא, כך שתוכל לבצע את זה. 1202 00:54:24,070 --> 00:54:28,060 זה פשוט בודק כמה מצב שיש לך 1203 00:54:28,060 --> 00:54:33,565 נקבע, שאני חושב שכולנו נוח עם בדיקת תנאים. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 מגניב. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 אז אם עוד אחד האחר שלך, אתה יכול להגיד על אישור, אם זה נכון, 1208 00:54:44,530 --> 00:54:46,150 לעשות דבר ראשון זה. 1209 00:54:46,150 --> 00:54:48,720 אחרת אני רוצה ש ברירת מחדל ולעשות משהו אחר. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 כמו במקרה זה, או שאתה בוחר מספר חיובי או מספר שלילי. 1212 00:54:55,060 --> 00:54:56,500 יש לך רק שתי אפשרויות. 1213 00:54:56,500 --> 00:54:59,550 אתה צריך את זה כדי לבצע ללא קשר של מה תשומות המשתמש שלך. 1214 00:54:59,550 --> 00:55:02,920 אז אתה יכול לומר גם, זה גדול מ -0? 1215 00:55:02,920 --> 00:55:03,480 מגניב. 1216 00:55:03,480 --> 00:55:04,480 הדפסת מספר חיובי. 1217 00:55:04,480 --> 00:55:06,153 אם זה לא, להדפיס שלילי. 1218 00:55:06,153 --> 00:55:06,960 כולם טובים? 1219 00:55:06,960 --> 00:55:14,920 >> ואז דבר אחד הוא להכיר הוא שאם אם התנאי מתקיים, 1220 00:55:14,920 --> 00:55:16,650 אחר לעולם לא גם לבצע. 1221 00:55:16,650 --> 00:55:19,210 רק אחד מהם יהיה לבצע בכל פעם. 1222 00:55:19,210 --> 00:55:20,410 אז זה את סחר. 1223 00:55:20,410 --> 00:55:21,720 אתה לא מקבל שיש את שניהם. 1224 00:55:21,720 --> 00:55:23,566 גם לך יש את התנאי הראשון. 1225 00:55:23,566 --> 00:55:25,440 או שיש לך אם או אחר, לא את שניהם. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 אז מה שיכול לגרום לדברים עוד יותר מסובך, 1228 00:55:28,890 --> 00:55:31,060 כי אתה יכול לעשות אם, זה דבר אחר, ולאחר מכן אחר. 1229 00:55:31,060 --> 00:55:32,810 אז במקרה הזה, אנחנו יש שלושה תנאים. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 ושוב, רק אחד מהם הוא הולך בסופו שהוצא להורג. 1232 00:55:38,370 --> 00:55:41,030 אז ייתכן שאתה תוהה גם, מה אם אתה 1233 00:55:41,030 --> 00:55:45,510 יש משהו ש יכול לענות על שני אלה. 1234 00:55:45,510 --> 00:55:49,520 אולי כל מה שאתה מזין עונה על שני התנאים 1235 00:55:49,520 --> 00:55:51,811 לאם ואחר אם. 1236 00:55:51,811 --> 00:55:53,060 דבר היחיד שהולך לרוץ 1237 00:55:53,060 --> 00:55:56,240 >> אליסון: ברגע שהוא מוצא משהו שהם עומדים בתנאים של 1238 00:55:56,240 --> 00:55:59,790 מעריך לנכון, זה מה ש זה הולך לרוץ ולא שום דבר אחר. 1239 00:55:59,790 --> 00:56:04,440 אז אם היה לך הוא מספר זה בין 0 ו- 5 עבור הראשון שלך, 1240 00:56:04,440 --> 00:56:10,530 או שמספר זה בין 3 ו -5 לאחרים אם חלק, 1241 00:56:10,530 --> 00:56:15,550 ואתה קלט את number-- אמרתי 0 ו -5 and-- 4. 1242 00:56:15,550 --> 00:56:18,110 זה הולך להכות את הראשון. 1243 00:56:18,110 --> 00:56:20,960 זה הולך לומר על אישור, זה מספר הוא בין 0 ל 5. 1244 00:56:20,960 --> 00:56:22,480 ביצוע ולהשאיר. 1245 00:56:22,480 --> 00:56:25,340 זה לעולם לא פגע כי אפשרות שנייה. 1246 00:56:25,340 --> 00:56:26,394 מגניב? 1247 00:56:26,394 --> 00:56:27,250 מדהים. 1248 00:56:27,250 --> 00:56:31,300 >> אישור יש לנו גם אמירות מתג אם אתה רוצה לקבל אפילו more-- או מצטער, 1249 00:56:31,300 --> 00:56:31,965 המתג הוא הבא. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 אני מקדים את המאוחר כאן. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 שוב, מרובה אם בלוקים שבו כמו שאמרתי זה עתה 1254 00:56:39,210 --> 00:56:45,600 הוא ברגע שאתה מוצא את מצב שפגש ואם אחר אם אחר, 1255 00:56:45,600 --> 00:56:46,630 זה משאיר. 1256 00:56:46,630 --> 00:56:49,560 אם אתה צריך לבדוק דברים מרובים, אתה 1257 00:56:49,560 --> 00:56:53,000 הולך רוצה להשתמש כי זה זה יהיה לבדוק כל זמן כאן. 1258 00:56:53,000 --> 00:56:58,060 אז זה יפעל באמצעות ואם זה גדול או שווה ל -90, 1259 00:56:58,060 --> 00:56:59,160 זה הולך להדפיס את זה. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 וזה יפעל דרך ו לבדוק כל אחד ואחד מהם. 1262 00:57:03,600 --> 00:57:06,444 >> קהל: אז זה יהיה יותר מרכבה מ [לא ברור]. 1263 00:57:06,444 --> 00:57:07,735 האם זה יהיה כמו [לא ברור]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> אליסון: השאלה היא האם זה יהיה מרכבה או זה עושה את מה שאתה רוצה. 1266 00:57:15,740 --> 00:57:19,830 זה באמת תלוי במה אתה רוצה מהתכנית שלך. 1267 00:57:19,830 --> 00:57:22,291 >> קהל: אני מתכוון כמו אם אתה שם 90 ב. 1268 00:57:22,291 --> 00:57:23,290 אליסון: אם תשים 90-- 1269 00:57:23,290 --> 00:57:24,206 קהל: [לא ברור]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 גבריאל: אתה הולך לקבל שני דברים. 1272 00:57:27,250 --> 00:57:28,916 אליסון: אתה הולך לקבל שני דברים. 1273 00:57:28,916 --> 00:57:29,420 כן, שתי. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB אודן: שני? 1276 00:57:33,920 --> 00:57:34,580 >> אליסון: מס ' 1277 00:57:34,580 --> 00:57:35,288 >> ROB אודן: ארבעה. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 אם תשים 90, זה הולך לומר לך יש, יש לך B, יש לך C, 1280 00:57:40,070 --> 00:57:40,545 יש לך ד ' 1281 00:57:40,545 --> 00:57:41,461 >> קהל: [לא ברור]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 אליסון: נכון. 1284 00:57:42,820 --> 00:57:44,778 אז תלוי מה אתה רוצה מן התכנית שאתה. 1285 00:57:44,778 --> 00:57:47,050 לפעמים אתה צריך לבדוק דברים רבים. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 אתה תקבל הרבה יותר עמוק לתוך מה ש עיצוב טוב הוא כמו שאתה הולך קדימה. 1288 00:57:55,270 --> 00:57:57,090 הדבר החשוב ל מבין הוא שזה 1289 00:57:57,090 --> 00:58:01,090 יבדוק את כל ארבעת התנאים כאן. 1290 00:58:01,090 --> 00:58:05,860 לעומת זאת, אם זה היה אם אחר אם אחר אם אחר, זה היה מכה שהמקרה הראשון, 1291 00:58:05,860 --> 00:58:07,950 זה יהיה להדפיס לך ולעשות. 1292 00:58:07,950 --> 00:58:10,250 >> ROB אודן: גם אם אנחנו החליט לשנות את זה לאם 1293 00:58:10,250 --> 00:58:13,880 וגדול או שווה ל -90, אם וגדול או שווה ל 80, 1294 00:58:13,880 --> 00:58:19,710 וקטן או שווה ל- 89, אם n גדול או שווה ל -70, 1295 00:58:19,710 --> 00:58:23,830 וn קטן או שווה ל 79, כך שיהיה נכון. 1296 00:58:23,830 --> 00:58:27,190 שיעשה מה שאנחנו רוצים, אבל זה עדיין בודק כל זה. 1297 00:58:27,190 --> 00:58:34,050 >> אז אילו בתרחיש הראשון, אם להיכנס 90 עם רק אם אם אם אחר אחר, 1298 00:58:34,050 --> 00:58:37,300 ואנו נכנסים 90, ולאחר מכן זה הולך לתקן. 1299 00:58:37,300 --> 00:58:39,615 זה יהיה לבדוק ראשון אחד, הדפסה שיש לך, 1300 00:58:39,615 --> 00:58:42,590 דלג על הכל, כי זה כבר מצא אחד שעובד. 1301 00:58:42,590 --> 00:58:46,360 כל המקרים הם סותרים המבוסס על אם אם אם אחר אחר. 1302 00:58:46,360 --> 00:58:48,630 אז זה יהיה לבצע את ראשון אם, אז עושה את זה. 1303 00:58:48,630 --> 00:58:49,790 זה ילך עד הסוף. 1304 00:58:49,790 --> 00:58:52,400 >> לעומת זאת, אם נשנה זה להיות מה שהיה 1305 00:58:52,400 --> 00:58:54,204 אומר עם פחות או שווה ל 89. 1306 00:58:54,204 --> 00:58:55,620 זה הולך לבדוק את הראשון. 1307 00:58:55,620 --> 00:58:56,560 זה יהיה להדפיס. 1308 00:58:56,560 --> 00:58:58,010 זה יהיה לבדוק את השני. 1309 00:58:58,010 --> 00:58:59,010 זה לא הולך להדפיס. 1310 00:58:59,010 --> 00:58:59,910 בדוק את שליש. 1311 00:58:59,910 --> 00:59:00,620 לא הולך להדפיס. 1312 00:59:00,620 --> 00:59:01,495 בדוק את הרביעית. 1313 00:59:01,495 --> 00:59:02,420 עכשיו הולך להדפיס. 1314 00:59:02,420 --> 00:59:05,380 אז במקרה ש, אחר אם גרסה, שכן במקרים אלה 1315 00:59:05,380 --> 00:59:09,120 אינם יכול להתקיים, זה שימוש טוב יותר אם אחר אם אם אחר, 1316 00:59:09,120 --> 00:59:12,970 בגלל שהוא הולך להיות פחות בדיקות של התנאים 1317 00:59:12,970 --> 00:59:14,750 יותר מגרסה זו. 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 אליסון: מדהים. 1320 00:59:18,400 --> 00:59:20,580 אז עוד דבר שאנחנו יכולים לעשות הוא הצהרות מתג. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 בעיקרון הצהרה בורר לוקח בחלק משתנה, 1323 00:59:25,270 --> 00:59:28,780 במקרה הזה זה n, ו קובע שמקרה לבצע. 1324 00:59:28,780 --> 00:59:33,106 אז זה גם אחד שבו מקרים שלך צריך להיות סוג של סותרים. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 אז במקרה הזה, אם אנחנו אנחנו מקבלים אחד, זה 1327 00:59:37,940 --> 00:59:42,270 הולך להתאים כל מה ש variable-- מה הערך של n 1328 00:59:42,270 --> 00:59:48,700 הוא אחד ממקרים אלה, כך 1, 2, או 3, ולהדפיס את הקו המקביל. 1329 00:59:48,700 --> 00:59:51,870 >> ואז אם אתה שם לב כאן, יש לנו גם ברירת מחדל, 1330 00:59:51,870 --> 00:59:54,670 שבו אתה יכול בחושב כמוך אחר. 1331 00:59:54,670 --> 00:59:58,510 אז אם אתה בוחר כל מספר אחר מלבד 1, 2, ו -3 במקרה זה 1332 00:59:58,510 --> 00:59:59,885 זה רק הולך להדפיס חוקי. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 החלטה מתי להשתמש IFS לעומת אם elses לעומת מתגים הולך 1335 01:00:08,390 --> 01:00:12,590 להיות משהו שאתם יהיו לראות את העיצוב חכם כמו שאתה מתחיל בכתיבה 1336 01:00:12,590 --> 01:00:15,270 תוכניות מורכבות יותר, ו אין כללים קשים ומהר 1337 01:00:15,270 --> 01:00:16,330 מתי להשתמש בם. 1338 01:00:16,330 --> 01:00:17,890 זה באמת תלוי בהקשר שלך. 1339 01:00:17,890 --> 01:00:18,590 >> ROB אודן: ולא רק לזרוק אותו שם 1340 01:00:18,590 --> 01:00:20,131 שכן הוא חלק נוח יותר. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 מתגים, הם נוטים be-- כך אתה מוגבל 1343 01:00:25,053 --> 01:00:27,430 במספר הדרכים יכול להשתמש בם, כי IFS, 1344 01:00:27,430 --> 01:00:30,100 המצב יכול להיות די כל דבר שאתה רוצה. 1345 01:00:30,100 --> 01:00:33,410 עם מתגי מקרים צריך להיות מספרים, 1346 01:00:33,410 --> 01:00:37,770 או מבחינה טכנית הם יכולים להיות תווים, אבל תווים, כפי שנראה, הם רק מספרים. 1347 01:00:37,770 --> 01:00:44,250 אז הם צריכים להיות מספרים, אבל מתגים הם באמת יעילים יותר מאשר אם 1348 01:00:44,250 --> 01:00:50,060 אחר אם אחר אם, משום שגם לוקח הדוגמא before-- גם, 1349 01:00:50,060 --> 01:00:51,486 דוגמא הכיתה נראית טובה. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> ובכן בואו נגיד כאן, אנחנו במקום לעשות כאם אחר אם זה אם תרחיש אחר. 1352 01:00:57,080 --> 01:01:00,930 אז אם n שווה שווה 1, להדפיס שבחרת מספר נמוך. 1353 01:01:00,930 --> 01:01:04,490 אם אחר אם n שווה שווה 2, שבחרת מספר בינוני. 1354 01:01:04,490 --> 01:01:06,550 אחר אם שווים שווים 3, גבוה. 1355 01:01:06,550 --> 01:01:08,060 אחר לא חוקי. 1356 01:01:08,060 --> 01:01:09,820 >> אז בואו נגיד שזה היה התרחיש שלנו. 1357 01:01:09,820 --> 01:01:14,060 אז בואו נגיד שאנחנו נכנסים 4, ולכן אנו צופים לא חוקיים. 1358 01:01:14,060 --> 01:01:17,410 כך שאם אחר אם אחר אם גישה היא ללכת לעבודה היא 1359 01:01:17,410 --> 01:01:18,740 בודק את התנאי הראשון. 1360 01:01:18,740 --> 01:01:19,776 שאין הוא מרוצה. 1361 01:01:19,776 --> 01:01:21,150 אז אנחנו בודקים את התנאי השני. 1362 01:01:21,150 --> 01:01:21,940 שאין הוא מרוצה. 1363 01:01:21,940 --> 01:01:23,023 בדוק את מצבו השלישי. 1364 01:01:23,023 --> 01:01:23,640 לא מרוצה. 1365 01:01:23,640 --> 01:01:26,650 אז אנחנו הולכים לעוד ולהדפיס לא חוקיים. 1366 01:01:26,650 --> 01:01:30,169 >> דרך עבודות המתג זה הידור את 1367 01:01:30,169 --> 01:01:31,960 למה שאנחנו הולכים לקרוא שולחן קפיצה. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 בן הרעיון המרכזי כי כאשר אתם נכנסים 4, 1370 01:01:37,120 --> 01:01:39,090 זה מייד יכול ללכת לברירת המחדל. 1371 01:01:39,090 --> 01:01:41,460 היא לא צריכה לבדוק בבוקר אני מקרה 1? 1372 01:01:41,460 --> 01:01:42,350 לא ולא זה לא זה. 1373 01:01:42,350 --> 01:01:42,850 מקרה 2? 1374 01:01:42,850 --> 01:01:43,240 לא ולא. 1375 01:01:43,240 --> 01:01:43,770 מקרה 3? 1376 01:01:43,770 --> 01:01:44,270 לא ולא. 1377 01:01:44,270 --> 01:01:45,090 ברירת מחדל. 1378 01:01:45,090 --> 01:01:47,610 אישור, זה חייב להיות מקום שבו רוצה, ולאחר מכן לבצע את זה. 1379 01:01:47,610 --> 01:01:49,590 לא, זה מייד קופץ לברירת המחדל. 1380 01:01:49,590 --> 01:01:51,900 או לי להזין 2, זה מייד הולך ל2 1381 01:01:51,900 --> 01:01:54,060 ללא צורך לעבור מקרה 1. 1382 01:01:54,060 --> 01:01:57,820 >> אז ככה, באופן מציאותי בימינו זה 1383 01:01:57,820 --> 01:02:00,250 לא שהרבה משיפור ביעילות. 1384 01:02:00,250 --> 01:02:02,880 בדרך כלל מחשבים הם די מהר, וזה לא כל כך גדול. 1385 01:02:02,880 --> 01:02:07,270 אבל זה המקרה ש מתגים מהירים יותר. 1386 01:02:07,270 --> 01:02:10,380 אם אתה באמת מנסה כדי לייעל, להשתמש במתג. 1387 01:02:10,380 --> 01:02:11,980 1388 01:02:11,980 --> 01:02:12,710 >> אליסון: מגניב. 1389 01:02:12,710 --> 01:02:15,270 ולאחר מכן יש לנו מפעיל משולש. 1390 01:02:15,270 --> 01:02:19,470 אז אני יודע שציינתי קודם לכן מילת סוכר תחבירי. 1391 01:02:19,470 --> 01:02:24,160 אז זה רק דברים שגורמים לי הקוד שלך הרבה יותר תמציתי. 1392 01:02:24,160 --> 01:02:25,590 אז זה אחד מאותם מקרים. 1393 01:02:25,590 --> 01:02:31,430 >> אז מפעיל משולש הוא סימן שאלה מעי גס כפי שאנו רואים במחרוזת הקו 1394 01:02:31,430 --> 01:02:35,810 של שווה n גדול מ 100 סימן שאלה נמוך גבוה מעי גס. 1395 01:02:35,810 --> 01:02:41,800 אז בעצם איך זה עובד הוא שזה n הגדול מ 100 הוא מצב. 1396 01:02:41,800 --> 01:02:43,674 אז אני חושב שזה יכול להיות הגיוני. 1397 01:02:43,674 --> 01:02:44,840 זה כמו לשאול שאלה. 1398 01:02:44,840 --> 01:02:47,320 זה אומר אה, הוא n גדול מ 100. 1399 01:02:47,320 --> 01:02:48,340 מי יודע? 1400 01:02:48,340 --> 01:02:50,750 ואם זה מעריך ל נכון, זה הולך לתת לך 1401 01:02:50,750 --> 01:02:54,270 הדבר הראשון זה מופיע שם, שהוא גבוה. 1402 01:02:54,270 --> 01:02:55,840 אחרת זה הולך לתת לך נמוך. 1403 01:02:55,840 --> 01:03:01,210 כך שזה רק ממש פשוט ו דרך יעילה לעשות כמו אם אחר. 1404 01:03:01,210 --> 01:03:02,780 זה כל מה שזה. 1405 01:03:02,780 --> 01:03:07,450 >> ואם היינו כותב את זה כאם אחר מותנה, 1406 01:03:07,450 --> 01:03:12,480 זה יהיה אם n הוא גדול יותר מ -100, תשואה גבוהה. 1407 01:03:12,480 --> 01:03:14,220 אחר, לחזור נמוך. 1408 01:03:14,220 --> 01:03:17,570 זה רק הרבה יותר דרך תמציתית של כתיבתו. 1409 01:03:17,570 --> 01:03:27,090 >> ROB אודן: אז דוגמא זו בפרט הוא בכל פעם שאתה עושה משהו 1410 01:03:27,090 --> 01:03:30,190 כמו זה, זה הדפוס שבו אני משתמש משולש לעתים קרובות מאוד. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 אז אנחנו לא דיברנו על ההיקף עדיין, אבל אני שונא לראות את הנקודה-פסיק מחרוזת s. 1413 01:03:35,460 --> 01:03:39,150 אם n גדול מ 100, של שווה גבוה. 1414 01:03:39,150 --> 01:03:40,660 אחר, של שווה נמוך. 1415 01:03:40,660 --> 01:03:45,070 אז דפוס ש, חמש שורות אלה קוד, פשוטו כמשמעו, 100 של הפעם% 1416 01:03:45,070 --> 01:03:49,800 ניתן להעביר לתוך מה ש היה שם למעלה עם משולש. 1417 01:03:49,800 --> 01:03:52,340 אז המשולש, שורה אחת של קוד. 1418 01:03:52,340 --> 01:03:54,640 אם אחר, חמש. 1419 01:03:54,640 --> 01:03:56,910 זו דוגמא אני מצביע את כל זמן. 1420 01:03:56,910 --> 01:03:59,250 זה היית מקום נהדר למפעיל משולש. 1421 01:03:59,250 --> 01:04:00,647 זה כל כך נקי. 1422 01:04:00,647 --> 01:04:01,980 אבל אנשים נוטים לא להשתמש בו. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> אליסון: קח את זה משם גייב. 1425 01:04:08,030 --> 01:04:11,110 >> גבריאל: אז עכשיו אתם כל למד בהרצאת השבוע 1426 01:04:11,110 --> 01:04:13,420 כל מה שב מחשב הוא בינארי, נכון? 1427 01:04:13,420 --> 01:04:14,570 בדיוק כמו המנורות כאן. 1428 01:04:14,570 --> 01:04:16,492 אתה יכול להיות או להפעיל ולכבות. 1429 01:04:16,492 --> 01:04:18,450 ועל ידי הכול, אני מתכוון ממש הכל. 1430 01:04:18,450 --> 01:04:24,272 מספרים מסוימים, ותווים, ומחרוזות, ואפילו את הקוד שאתה כותב כש 1431 01:04:24,272 --> 01:04:26,480 הוא מקבל הידור למכונה קוד ודברים כאלה, 1432 01:04:26,480 --> 01:04:29,230 אז זה הכל מסתכם 0 ו 1 '. 1433 01:04:29,230 --> 01:04:34,540 >> וכך, כאשר יש לנו עסק עם מספרים שלמים, ש 1434 01:04:34,540 --> 01:04:38,000 זה משהו שמאוד מבחינה טכנית פשוט, אנחנו צריכים להיות מסוגלים לעשות את הדברים 1435 01:04:38,000 --> 01:04:40,630 כמו שמוסיף אותם, שהוא כנראה אחד הדברים הפשוטים ביותר 1436 01:04:40,630 --> 01:04:42,300 אתה יכול לעשות את שני מספרים שלמים, נכון? 1437 01:04:42,300 --> 01:04:47,410 אז חיבור וחיסור עובד בדיוק כמו שזה עובד בשיטה עשרונית, 1438 01:04:47,410 --> 01:04:50,780 מלבד כאן זה בינארי, נכון? 1439 01:04:50,780 --> 01:04:52,090 אז זה בבסיס שני. 1440 01:04:52,090 --> 01:04:54,070 אז להוסיף 1 פלוס 1. 1441 01:04:54,070 --> 01:04:57,020 זה נותן לי 0, ו -1 נושאת מעל. 1442 01:04:57,020 --> 01:05:01,335 ורק להמשיך ולעשות זאת, אז עכשיו עולה השאלה מעניינת יותר. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> אנחנו יודעים איך לייצג את כל מספרים שלמים וחיוביים במחשב, 1445 01:05:07,710 --> 01:05:09,870 אבל בואו נעשה את זה תרגיל. 1446 01:05:09,870 --> 01:05:15,240 העמד פנים שכולכם נמצאים בשנת 1960 או משהו מנסה ליצור מחשב, 1447 01:05:15,240 --> 01:05:19,950 ואתה צריך לבוא מ דרך של אחסון מינוס 1, 1448 01:05:19,950 --> 01:05:22,554 לדוגמא, או בניכוי כל שלם לצורך העניין. 1449 01:05:22,554 --> 01:05:23,470 איך אתה הייתי עושה את זה? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 יש לך רעיונות? 1452 01:05:29,220 --> 01:05:31,302 פשוט לזרוק כל דבר עליי. 1453 01:05:31,302 --> 01:05:32,264 כן? 1454 01:05:32,264 --> 01:05:39,480 >> קהל: [לא ברור] לייעד מיוחד אם [לא ברור] שלך. 1455 01:05:39,480 --> 01:05:42,590 >> גבריאל: אתה יכול לייעד קצת מיוחד, שיהיה 0 או 1. 1456 01:05:42,590 --> 01:05:45,590 נניח שאחד אם זה חיובי ו 0 אם זה שלילי. 1457 01:05:45,590 --> 01:05:48,171 ולאחר מכן את שאר קצת הוא רק כדי לאחסן את המספר. 1458 01:05:48,171 --> 01:05:48,670 מגניב. 1459 01:05:48,670 --> 01:05:49,990 אז זה רעיון טוב מאוד. 1460 01:05:49,990 --> 01:05:51,550 יש לנו, אני לא יודע, 200. 1461 01:05:51,550 --> 01:05:54,720 ואם קצת הראשון הוא מופעל, אז זה בתוספת 200. 1462 01:05:54,720 --> 01:05:57,270 אם הוא כבוי, זה מינוס 200. 1463 01:05:57,270 --> 01:05:58,380 מגניב. 1464 01:05:58,380 --> 01:06:01,350 >> יש רק אחד קטן בעיה עם זה, 1465 01:06:01,350 --> 01:06:05,370 היא, אם אנחנו מנסים לסכם את הדברים. 1466 01:06:05,370 --> 01:06:18,910 אז דמיין שיש לנו 11111 כאן, ו אנחנו מסכמים את זה עם 00100 מה. 1467 01:06:18,910 --> 01:06:21,630 אם שני אלה הם חיוביים, זה בסדר. 1468 01:06:21,630 --> 01:06:24,470 אבל אז אם אחד מ שלהם הוא שלילי, כמו 1469 01:06:24,470 --> 01:06:27,410 נניח שזה קצת כאן הוא זה שאחראי 1470 01:06:27,410 --> 01:06:31,390 for-- אני הולך לעשות separate-- אז זה אחד אומר שמספר זה כאן 1471 01:06:31,390 --> 01:06:31,970 הוא חיובי. 1472 01:06:31,970 --> 01:06:34,450 אחד זה אומר שזה מספר כאן הוא שלילי, נכון? 1473 01:06:34,450 --> 01:06:37,010 >> אבל אז כשאתה הולך לסכם, ש 1474 01:06:37,010 --> 01:06:40,180 צריך אם הצהרה אומר הו, אם זה הוא 0, 1475 01:06:40,180 --> 01:06:43,479 אז הסכום שלי יהיה משהו שונה, נכון? 1476 01:06:43,479 --> 01:06:45,270 אז יש מעט יותר דרך חכמה לעשות 1477 01:06:45,270 --> 01:06:48,520 ש, אשר נקרא של שתיים משלימים. 1478 01:06:48,520 --> 01:06:52,350 אז בעצם מה שאנחנו לעשות הוא אנו מגדירים מינוס 1 1479 01:06:52,350 --> 01:06:57,250 להיות הדבר שאם נוסיף עד 1 נותן לנו 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 תן לי לחזור על זה. 1482 01:07:00,860 --> 01:07:03,280 אז בואו נגיד שזה כאן הוא 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 מהו הדבר ש באופן טבעי במספרים שלמים וחיוביים 1485 01:07:13,570 --> 01:07:15,570 בנוסף לכל זה נותן לנו 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 מה אם אנסה להוסיף אותו למספר הזה? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 אנחנו הולכים have-- אוקיי, אז בואו נוסיף. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 אנחנו הולכים יש לי 1 פלוס 1 הוא 0, ולאחר מכן היא מבצעת מעל. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 ואז אנחנו הולכים לקבל 0 שוב. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 אני מקבל מבולבל. 1496 01:07:48,820 --> 01:07:51,670 ואתה הולך לקבל 0 ו 0 ו 0 ו 0 ו -0 ו -0. 1497 01:07:51,670 --> 01:07:52,450 הרבה 0 של. 1498 01:07:52,450 --> 01:07:56,240 >> לכל אחרון, אנחנו לא הולך להיות מסוגל לבצע את זה על, 1499 01:07:56,240 --> 01:07:59,614 כי נניח שרק מתעסקים עם בית אחד, כך שרק 8 סיביות. 1500 01:07:59,614 --> 01:08:02,780 אז מה המחשב עושה כברירת מחדל רק שוכח ש[ לא ברור], 1501 01:08:02,780 --> 01:08:03,279 בסדר? 1502 01:08:03,279 --> 01:08:04,530 1503 01:08:04,530 --> 01:08:06,880 אז זה מה שנקרא של שתיים משלימים. 1504 01:08:06,880 --> 01:08:15,180 אנחנו פשוט להגדיר מינוס 1 להיות דבר כאן שאם אתה מוסיף שעד 1 1505 01:08:15,180 --> 01:08:15,995 היה נותן לך 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 וזה די מגניב כי אנחנו לא באמת 1508 01:08:20,180 --> 01:08:24,090 צריך סוף ליישום סוג של סכום שונה 1509 01:08:24,090 --> 01:08:26,590 תלוי אם זה שלילי או מספר חיובי. 1510 01:08:26,590 --> 01:08:27,465 האם זה הגיוני? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> דבר כל כך שאנחנו עושים כאן על מנת להמיר 1513 01:08:32,370 --> 01:08:38,550 בין חיובי ושלילי המספר שלם אז להעיף את כל מה ש, 1514 01:08:38,550 --> 01:08:40,930 ולאחר מכן אנו מוסיפים 1 למספר ש. 1515 01:08:40,930 --> 01:08:43,140 אם אתה מנסה לעשות את זה בעצמך על פיסת נייר, 1516 01:08:43,140 --> 01:08:44,681 אתה הולך לראות את זה הגיוני. 1517 01:08:44,681 --> 01:08:51,000 אבל אם אני לוקח את המספר הזה כאן, זה חמש. 1518 01:08:51,000 --> 01:08:54,859 אז אם אני מעיף את כל מה ש כאן, כל כך 1, 1, 1, 1, 1. 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 הפוך, הפוך, להעיף. 1521 01:08:57,830 --> 01:09:00,130 ואז אני מוסיף 1 לזה. 1522 01:09:00,130 --> 01:09:02,750 אני הולך יש לי בדיוק מינוס 5. 1523 01:09:02,750 --> 01:09:03,250 בסדר? 1524 01:09:03,250 --> 01:09:06,220 >> זה סוג של היגיון, כי אם אתה מנסה לסכם את זה עם המספר 1525 01:09:06,220 --> 01:09:10,229 שהיו לנו קודם, ש was-- בואו להפוך את זה שוב. 1526 01:09:10,229 --> 01:09:12,999 זה היה 101 והרבה 0 של. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 אם תנסה להוסיף אלה שני מספרים יחד, 1529 01:09:15,670 --> 01:09:16,961 אתה הולך להיות בדיוק 0. 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 אישור. 1532 01:09:19,460 --> 01:09:19,884 שאלות? 1533 01:09:19,884 --> 01:09:20,759 >> קהל: [לא ברור] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> גבריאל: מה זאת אומרת? 1536 01:09:27,280 --> 01:09:29,240 >> קהל: שלילי ל חיובי [לא ברור]. 1537 01:09:29,240 --> 01:09:33,215 >> גבריאל: לא, אתה להעיף ואתה מוסיף 1 תמיד. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 כן. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 אוקיי, אז דמויות גם מקודדות קבצים בינאריים. 1542 01:09:39,680 --> 01:09:42,649 יש לנו שולחן ASCII, כפי שאתה גם ראה בהרצאה, נכון? 1543 01:09:42,649 --> 01:09:45,040 אז זה בעצם מיפוי של דברים. 1544 01:09:45,040 --> 01:09:50,960 וכאן אני לא יכול להדגיש מספיק כי למחשב, ו -65 1545 01:09:50,960 --> 01:09:52,770 ממש אותו הדבר. 1546 01:09:52,770 --> 01:10:03,430 אז אם אני כותב משהו כמו char ג שווה, אני יכול באותו הזמן 1547 01:10:03,430 --> 01:10:06,890 פשוט לכתוב 65 כאן, וזה יהיה בדיוק אותו הדבר, בסדר? 1548 01:10:06,890 --> 01:10:08,470 אין הבדל כלשהו. 1549 01:10:08,470 --> 01:10:12,420 >> בדרך כלל אנחנו נוטים לשים דמויות במשתנים מהסוג. 1550 01:10:12,420 --> 01:10:16,770 תו, לא בגלל שהם במהות עשיתי בשביל זה, אבל בגלל ש 1551 01:10:16,770 --> 01:10:18,050 אמנה אנושית. 1552 01:10:18,050 --> 01:10:22,410 אבל אתה יכול פשוט להתמודד עם מספרים שלמים במקום משתנים מהסוג char, 1553 01:10:22,410 --> 01:10:23,490 ואתה תהיה בסדר. 1554 01:10:23,490 --> 01:10:28,410 ההבדל בפועל רק בין ג char ואני int 1555 01:10:28,410 --> 01:10:31,960 הוא שיש int ארבעה בתים ברוב מערכות, ואילו לדמות יש בית אחד. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 שבמהותם אותו דבר במונחים של נתונים. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 אז מה יודפס כאן? 1560 01:10:37,990 --> 01:10:43,780 כאן אנחנו מדפיסים ספרה באמצעות printf עם פלוס 1, ובדיוק כמו מספרים שלמים, 1561 01:10:43,780 --> 01:10:46,240 אפשר לסכם תווים, כך ניתן גם סיכמו תווים. 1562 01:10:46,240 --> 01:10:47,890 אז זה בדיוק 65. 1563 01:10:47,890 --> 01:10:49,950 אז יש הולך להיות 66, וכאן יש לנו 1564 01:10:49,950 --> 01:10:56,860 65 בתוספת קטנה גדול מינוס, אשר יהיה, אני לא ממש יודע. 1565 01:10:56,860 --> 01:11:00,900 אבל זה יהיה בדיוק את הפער בין האותיות גדולות 1566 01:11:00,900 --> 01:11:07,800 ואותיות הקטנות יותר, כך אנחנו הולכים לקבל קטנים, נכון? 1567 01:11:07,800 --> 01:11:08,300 כן. 1568 01:11:08,300 --> 01:11:11,740 אז זה הולך להדפיס אופי וזה בדיוק זה. 1569 01:11:11,740 --> 01:11:12,260 טוב? 1570 01:11:12,260 --> 01:11:12,860 שאלות? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> כאן יש לנו חבורה של שונה סוגים עבור משתנים מספריים. 1573 01:11:19,430 --> 01:11:20,620 אנחנו כבר מדברים על int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float הוא רק דרך to-- זה באמת מצחיק, כי כאשר נודע לי לראשונה 1576 01:11:27,760 --> 01:11:32,320 לתכנת חזרה היום עם Python, התכנית הראשונה ש 1577 01:11:32,320 --> 01:11:37,480 ניסיתי לכתוב, ראיתי שיש סוג המכונה ובסוג המכונה לצוף. 1578 01:11:37,480 --> 01:11:39,800 והמצופים לכל מספרים הממשיים. 1579 01:11:39,800 --> 01:11:43,290 אז שאלתי למה צריך פעם להשתמש int אז? 1580 01:11:43,290 --> 01:11:45,590 כי אם אני יכול להשתמש בכל מספרים אמיתיים עם מצוף, 1581 01:11:45,590 --> 01:11:47,120 הייתי פשוט להפסיק את השימוש בints, נכון? 1582 01:11:47,120 --> 01:11:49,550 כיוון שמספרים אמיתיים הם הרבה כמו יותר גנרי. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> מתברר כי מדובר ב לא כך דבר במחשבים 1585 01:11:54,060 --> 01:11:58,480 משום שבמהותם דברים שונים. 1586 01:11:58,480 --> 01:12:01,470 אז מספרים שלמים וצף, פעולות שאתה עושה להם 1587 01:12:01,470 --> 01:12:04,739 שונים במהותם, כי אופן שבו הם מאוחסנים, בסדר? 1588 01:12:04,739 --> 01:12:07,280 אנחנו הולכים לדבר קצת קצת יותר על זה תוך שני. 1589 01:12:07,280 --> 01:12:09,110 >> אז כפול הוא פשוט לצוף גדול יותר. 1590 01:12:09,110 --> 01:12:12,830 בדרך כלל ברוב המערכות, לצוף הוא ארבעה בתים, בדיוק כמו int. 1591 01:12:12,830 --> 01:12:15,440 וכפול שמונה בתים. 1592 01:12:15,440 --> 01:12:21,450 ארוך ארוך הוא למעשה רק סמל שאתה לצרף לסוג כמו int. 1593 01:12:21,450 --> 01:12:24,040 אתה אומר ארוך ארוך int כמו זה. 1594 01:12:24,040 --> 01:12:28,550 x int הארוך הארוך כדי לעשות את זה יותר. 1595 01:12:28,550 --> 01:12:32,310 ולכן ברוב המערכות, זה ייתן לי שמונה בתים במקום ארבעה הרגילים. 1596 01:12:32,310 --> 01:12:35,620 ואתה באמת יכול להוריד ב, כך שהוא יכול רק לומר ארוך ארוך, 1597 01:12:35,620 --> 01:12:37,240 וזה גם פועל, בסדר? 1598 01:12:37,240 --> 01:12:42,850 גם אתה יכול לעשות דברים אחרים כמו int חתום, או שוב רק שאינו חתום 1599 01:12:42,850 --> 01:12:43,680 יעבוד גם. 1600 01:12:43,680 --> 01:12:49,370 וזה יגרום x להיות משתנה כמו כל דבר הוא חיובי, 1601 01:12:49,370 --> 01:12:53,231 כך שאתה לא באמת יכול להיות השפעות שלילית מספרים בדרך שראינו כאן. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 אז הבא נפלא נקודה צפה ודיוק. 1604 01:12:58,650 --> 01:13:01,890 זה אחד הסיבות למה אתה רוצה להשתמש ints במקום צף, 1605 01:13:01,890 --> 01:13:04,370 כי ints הם 100% מדויקים, נכון? 1606 01:13:04,370 --> 01:13:06,170 זה בדיוק מספר ש. 1607 01:13:06,170 --> 01:13:11,910 לנקודות צפות, אם אתה אומרים תשובה שווה 1 על 10-- 1608 01:13:11,910 --> 01:13:14,690 אני במקרה יש לי זה מדויק תכנית כאן, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 שמדפיס עד 20 ספרות אחרי נקודה עשרוניות. 1611 01:13:19,420 --> 01:13:23,270 1 מחולק ב -10, וש בדרך כלל הוא 0.1, נכון? 1612 01:13:23,270 --> 01:13:27,910 אבל כאן, אם אנחנו עושים לצוף ואז להפעיל אותו, 1613 01:13:27,910 --> 01:13:30,320 אנחנו רואים שזה לא בדיוק 0.1. 1614 01:13:30,320 --> 01:13:33,570 זה 0.149 משהו. 1615 01:13:33,570 --> 01:13:35,570 >> ומדוע זה כך? 1616 01:13:35,570 --> 01:13:40,390 מכיוון שאתה לא באמת יכול לייצג כל מספר אמיתי אפשרי יחיד לזכרו 1617 01:13:40,390 --> 01:13:42,730 בגלל שיש uncountably רבים מהם. 1618 01:13:42,730 --> 01:13:48,360 אז אנחנו מבחינה טכנית רק יכולים מייצג כמות סופית שלהם 1619 01:13:48,360 --> 01:13:50,470 עם כמות סופית של נתונים. 1620 01:13:50,470 --> 01:13:52,050 אבל זה באמת מעניין. 1621 01:13:52,050 --> 01:13:54,920 עכשיו זה מעלה את שאלה של איך היית 1622 01:13:54,920 --> 01:13:59,299 ללכת על ייצוג זה עם חתיכות, נכון? 1623 01:13:59,299 --> 01:14:00,340 אז איך צף מאוחסנים? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 עם מספרים שלמים שזה היה קל. 1626 01:14:03,730 --> 01:14:06,690 אבל עם צף אתה רוצה על מנת למקסם את הטווח, 1627 01:14:06,690 --> 01:14:10,530 ואתה רוצה להיות מסוגל לייצג מספרים עצומים ומספרים מאוד קטנים כמו 1628 01:14:10,530 --> 01:14:14,210 0.000001 באותו הזמן. 1629 01:14:14,210 --> 01:14:15,180 אז שוב, אותו משחק. 1630 01:14:15,180 --> 01:14:20,470 האם יש למישהו מושג איך אנחנו יכולים ללכת על הייצוג לצוף בזיכרון? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 פשוט לזרוק שום דבר. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 כן, בבקשה. 1635 01:14:30,856 --> 01:14:33,552 >> קהל: [לא ברור] כ אם זה היה שני ints ואחד 1636 01:14:33,552 --> 01:14:36,890 להיות [לא ברור] וישות אחת כל מה שאחרי הנקודה העשרונית. 1637 01:14:36,890 --> 01:14:37,640 גבריאל: בסדר, מגניב. 1638 01:14:37,640 --> 01:14:40,300 אז שני מספרים שלמים שונים. 1639 01:14:40,300 --> 01:14:45,260 אתה יכול לקבל 12.45, כך שזה 12 ו -45. 1640 01:14:45,260 --> 01:14:45,890 נחמד. 1641 01:14:45,890 --> 01:14:46,973 מה לפני שיתנה לך הולך להגיד? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 אותו הדבר? 1644 01:14:49,430 --> 01:14:49,930 כן? 1645 01:14:49,930 --> 01:14:55,630 >> קהל: [לא ברור] בסימון שבו אתה נפרד הבסיס. 1646 01:14:55,630 --> 01:14:58,910 >> גבריאל: סימון מדעי, כן זה בדרך כלל מה שקורה. 1647 01:14:58,910 --> 01:15:01,350 אז זה מה שנקרא מנטיסה. 1648 01:15:01,350 --> 01:15:06,490 זה מה שהוא למעשה מספר, ולאחר מכן המעריך 1649 01:15:06,490 --> 01:15:08,780 הוא בדיוק איפה הפסיק, נכון? 1650 01:15:08,780 --> 01:15:13,720 אז זה הולך להיות משהו 5 פעמים של הטופס 1, 2, 3, 4, 10 1651 01:15:13,720 --> 01:15:15,000 ל4 מינוס. 1652 01:15:15,000 --> 01:15:17,800 רק עכשיו הבנתי that-- כן, בדיוק. 1653 01:15:17,800 --> 01:15:23,372 ואז 10 זה ל4 מינוס הוא הולך להגדיר היכן הפסיק, בסדר? 1654 01:15:23,372 --> 01:15:24,330 בברזיל אנחנו משתמשים בפסיק. 1655 01:15:24,330 --> 01:15:26,795 כאן אתם תשתמשו בנקודה. 1656 01:15:26,795 --> 01:15:27,640 אז נקודה. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> וזה מגניב, כי אז אתה יכול להתמקד הרבה ביטים שלך על הבחור הזה 1659 01:15:34,840 --> 01:15:40,863 כאן, שבֶׁבֶר, ואז זה הולך להיות הדיוק שלך בפועל. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 ואתה יכול לעשות את זה גם בעשרוני או במערכת מבוססת בינארי. 1662 01:15:47,175 --> 01:15:49,781 יש שונים דרכים ליישום זה. 1663 01:15:49,781 --> 01:15:50,280 שאלות? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 כן? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 קהל: כמה מקומות אחרי הנקודה העשרונית [לא ברור]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> גבריאל: זאת שאלה מסובכת, כי זה אף פעם לא באמת 100% מדויק, 1670 01:16:12,610 --> 01:16:15,680 כי כפי שאתה רואה כאן, ל כמה מספריו הוא 100% מדויקים. 1671 01:16:15,680 --> 01:16:20,350 אני מאמין שאם אנחנו שמים 0.5 כאן, זה הולך להיות 100% מדויקים. 1672 01:16:20,350 --> 01:16:22,220 זה הולך להיות .500000. 1673 01:16:22,220 --> 01:16:24,170 אז במקרה זה, זה מושלם. 1674 01:16:24,170 --> 01:16:27,330 אבל במקרים אחרים, זה הרבה פחות מושלם. 1675 01:16:27,330 --> 01:16:35,010 מניסיוני, כמו עד ארבעה, חמש ספרות אחרי נקודה עשרונית היא די מדויקת. 1676 01:16:35,010 --> 01:16:38,300 אם אתה משתמש בכפול, זה הולך להיות הרבה יותר מדויק מזה, בסדר? 1677 01:16:38,300 --> 01:16:42,750 >> ROB אודן: אז רק כדי לזרוק כמה הקשר יותר בצף, 1678 01:16:42,750 --> 01:16:46,320 אני אף פעם לא זוכר 100% איך מפרט של צף באמת עובד, 1679 01:16:46,320 --> 01:16:52,660 אבל אני עושה לך תמיד אזכור שצף מתחיל לקבל מבולגן. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 אז הרעיון הוא שכאשר אתה מקבל באמת, באמת מספרים גדולים או באמת, באמת 1682 01:17:00,930 --> 01:17:03,470 מספרים קטנים, אנחנו מתחילים מקבל יותר ויותר גרוע 1683 01:17:03,470 --> 01:17:05,860 בהבחנה בין שני צף קרוב. 1684 01:17:05,860 --> 01:17:09,180 >> אז איך אני רוצה לחשוב על זה עם חוסר דיוק נקודה צפה, 1685 01:17:09,180 --> 01:17:11,890 יש שני צף ש אם אני מנסה להגדיר אותם 1686 01:17:11,890 --> 01:17:15,150 ב- C, למרות העובדה ש הם מספרים שונים, 1687 01:17:15,150 --> 01:17:17,340 הם הולכים להיות יתפרש כאותו המספר, 1688 01:17:17,340 --> 01:17:19,006 כי אנחנו לא יכולים לאחסן אותם בצורה שונה. 1689 01:17:19,006 --> 01:17:20,540 אנחנו צריכים להשתמש באותו סיביות. 1690 01:17:20,540 --> 01:17:23,220 ואז, כשנגיע ל באמת, באמת מספרים גדולים, 1691 01:17:23,220 --> 01:17:28,460 מדבר כמו 10 עד 300 או משהו, זה בשלב זה 1692 01:17:28,460 --> 01:17:33,240 כי 10 עד 300 או 5 פעמים 10 עד 300 1693 01:17:33,240 --> 01:17:37,020 לא יכול להיות מובחן מ 7 פעמים 10 עד 300. 1694 01:17:37,020 --> 01:17:39,660 אז זה הבדל די גדול בין שני המספרים. 1695 01:17:39,660 --> 01:17:43,830 >> אבל אז כשאתה מגיע לדברים הטווח נורמלים, 1696 01:17:43,830 --> 01:17:45,770 אתם נוטים להיות די טוב בהבחנה. 1697 01:17:45,770 --> 01:17:49,020 ואז כשאתה מגיע ממש קטן, אתה גם מקבל די רע שוב. 1698 01:17:49,020 --> 01:17:52,529 אז כמו חבורה של כל 0.0000, הוא מקבל די רע. 1699 01:17:52,529 --> 01:17:53,820 גבריאל: כן, אז הערה מהירה. 1700 01:17:53,820 --> 01:17:54,670 אף פעם לא לעשות את זה. 1701 01:17:54,670 --> 01:17:57,590 לעולם אל תנסה להשוות שלו צפה בבאמצעות שווים שווים, 1702 01:17:57,590 --> 01:18:02,800 כי גם אם הם כמעט אותו דבר, כמעט אותו הדבר זה לא אותו הדבר. 1703 01:18:02,800 --> 01:18:06,360 אז מה אתה עושה בדרך כלל הוא מחסר שלהם, לקחת את הערך המוחלט של ש, 1704 01:18:06,360 --> 01:18:12,380 ולראות אם זה קטן יותר 0.0001 או משהו כזה, בסדר? 1705 01:18:12,380 --> 01:18:12,880 ומגניב. 1706 01:18:12,880 --> 01:18:16,630 אני מכיר הרבה אנשים שיש לי קצת רקע ב- Java, 1707 01:18:16,630 --> 01:18:19,700 במיוחד אלה שעשו מדעי מחשב AP, נכון? 1708 01:18:19,700 --> 01:18:23,630 וJava היא שפה שמבוסס בעיקר על C, 1709 01:18:23,630 --> 01:18:26,570 יש לה כמה הבדלים גדולים מאוד. 1710 01:18:26,570 --> 01:18:31,430 אבל ללולאות, ואילו, ודברים כאלה כי, הם כולם באותו תחביר. 1711 01:18:31,430 --> 01:18:35,240 יש לי כמה תוכניות לכאן כדי להראות את זה. 1712 01:18:35,240 --> 01:18:37,050 >> כך למשל, עולם שלום פשוט. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 זה שלום עולם ב- C, שבו אתה בחורים בהחלט מכירים, 1715 01:18:46,600 --> 01:18:49,100 וזה וזה אחד הוא ב- Java. 1716 01:18:49,100 --> 01:18:53,100 אז ב- Java יש לנו זה מעמד ציבורי, שלום עולם, 1717 01:18:53,100 --> 01:18:57,050 ומבוטל ציבור סטטי ארגומנטים עיקריים, ומחרוזת. 1718 01:18:57,050 --> 01:18:59,665 Args המחרוזת הולך להופיע בC זמן קצר מאוד. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 אבל בואו לא נלך לשם עדיין. 1721 01:19:01,990 --> 01:19:06,060 כרגע יש לנו פה תהום, מה שאומר ש עיקרי שלא לקחת שום טענות. 1722 01:19:06,060 --> 01:19:09,220 ולאחר מכן יש לנו System.out.println, וזה 1723 01:19:09,220 --> 01:19:11,140 סוג של המקבילה לprintf. 1724 01:19:11,140 --> 01:19:17,150 כאן אנחנו לא באמת צריכים את הקו הנטוי n כי LN ההדפסה עושה את זה בשבילך. 1725 01:19:17,150 --> 01:19:19,680 זה מצרף הקו הנטוי n בסוף השורה. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> אבל אם אתה הולך ל משהו כמו ל, 1728 01:19:30,415 --> 01:19:32,590 ניתן לראות כי הם פחות או יותר את אותו הדבר. 1729 01:19:32,590 --> 01:19:37,390 אז אתחול, ו מצב, והעדכון 1730 01:19:37,390 --> 01:19:42,050 is-- התגעגעתי חלל here-- הם פחות או יותר אותו הדבר, פרט לג'אווה 1731 01:19:42,050 --> 01:19:44,430 יש ככמה דברים יותר ברמה גבוהה. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 כאן אנו יכולים לעשות ובנוסף אני ו באופן אוטומטי Java יהיה 1734 01:19:49,610 --> 01:19:52,730 להפוך את זה אני כאן, שהוא מספר שלם, למחרוזת, 1735 01:19:52,730 --> 01:19:55,200 ולאחר מכן להוסיף את שתי מחרוזות ביחד. 1736 01:19:55,200 --> 01:19:57,570 כאן ב- C שאנחנו צריכים לעשות ו% ד. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 הקו כאן, ל נראה בדיוק אותו הדבר. 1739 01:20:18,170 --> 01:20:37,760 >> ואם אנחנו מסתכלים על אם, IFS גם נראה בדיוק אותו הדבר, נכון? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 אם כן, ההבדלים הגדולים האמיתיים הם באותם דברים שאתה רואה כאן. 1742 01:20:44,650 --> 01:20:47,530 ציבור סטטי, חלל, ו אז מעמד ציבורי אם. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 אז Java יש את מה שהוא בשם מכונה וירטואלית. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 והוא מבוסס במידה רבה על מה ש נקרא תכנות מונחה עצמים, 1747 01:21:00,150 --> 01:21:04,120 וזה מאוד, מאוד נפוץ הפרדיגמה לתכנות בימינו. 1748 01:21:04,120 --> 01:21:10,870 ודבר זה בכיתה הוא מה שאתה רואה, משהו מנטיית אובייקט, 1749 01:21:10,870 --> 01:21:14,214 הוא ליצור מעמד ואז אתה יכול להפיק חפצים מאותו הסוג. 1750 01:21:14,214 --> 01:21:16,380 אנחנו לא הולכים לדבר יותר מדי על זה יותר מדי בCS50, 1751 01:21:16,380 --> 01:21:18,213 אבל זה בהחלט משהו ממש מגניב, 1752 01:21:18,213 --> 01:21:21,440 במיוחד אם אתה רוצה להיכנס ל התפתחות אינטרנט מתוחכמת יותר 1753 01:21:21,440 --> 01:21:24,050 בסוף הקורס, כמו להגיש פרויקט הגמר שלך 1754 01:21:24,050 --> 01:21:26,430 וכמה מסגרות ודברים נחמדים. 1755 01:21:26,430 --> 01:21:31,250 >> אז בעצם הרעיון הוא שאתה לא רוצה לחזור ליישם משהו, 1756 01:21:31,250 --> 01:21:36,330 כך אתה יוצר משהו שהוא מאוד גנרי, כמו הצורה, 1757 01:21:36,330 --> 01:21:38,310 ואז אתה יוצר צורות שונות מזה, 1758 01:21:38,310 --> 01:21:40,240 ולאחר מכן מכל אחד מ הצורות האלה, שאתה יוצר 1759 01:21:40,240 --> 01:21:45,110 כמה צורות ספציפיות יותר בשלוש ממדים או משהו כזה. 1760 01:21:45,110 --> 01:21:48,799 ויש להם היררכיה זו הם יורש מהאחרים, ולכן 1761 01:21:48,799 --> 01:21:51,840 כל הפונקציות ואת כל המשתנים ש הצורה הגדולה כאן יש, כל אלה 1762 01:21:51,840 --> 01:21:54,110 הולכים להיות, וכל אלה הם הולך להיות, וכן הלאה וכן הלאה. 1763 01:21:54,110 --> 01:21:55,640 אז זה הרעיון הבסיסי. 1764 01:21:55,640 --> 01:21:59,170 >> אין C ש, אבל C ++ האם יש סוג כזה של תכונה. 1765 01:21:59,170 --> 01:22:02,710 ו- Java מושפע מאוד בזכות אוריינטצית אובייקט, 1766 01:22:02,710 --> 01:22:05,310 אז זו הסיבה שאתה רואה כיתה כאן כל הזמן. 1767 01:22:05,310 --> 01:22:10,790 וזה הדבר האחר מכונה זו Java וירטואלית. 1768 01:22:10,790 --> 01:22:13,790 אז זה, אני חושב, הוא רעיון מאוד חכם. 1769 01:22:13,790 --> 01:22:17,020 אז מה אנשים ש java המציא עשה הוא 1770 01:22:17,020 --> 01:22:19,630 הם לא רוצים לקמפל את הקוד שלהם פעמיים 1771 01:22:19,630 --> 01:22:23,990 אם הם היו צריכים להעביר אותו ב- Windows, או Mac או Linux, אז מה שהם עושים 1772 01:22:23,990 --> 01:22:26,740 הוא באמת ובתמים שמנוהלים משהו כמו המכשיר, 1773 01:22:26,740 --> 01:22:29,630 אבל אתה לא באמת רואה את זה קורה. 1774 01:22:29,630 --> 01:22:32,430 אז הם רצים על מכונה וירטואלית בתוך המחשב שלך, ש 1775 01:22:32,430 --> 01:22:34,940 הוא בעצם כמו מערכת הפעלה מיני. 1776 01:22:34,940 --> 01:22:37,920 והפעלה ש המטרה של המערכת בחיים 1777 01:22:37,920 --> 01:22:41,430 רק לרוץ מה שנקרא קוד בתים. 1778 01:22:41,430 --> 01:22:47,411 >> אז במקום ב- C, כפי שהיינו לקמפל זה עושה אם, ולאחר מכן להפעיל 1779 01:22:47,411 --> 01:22:47,910 ./if. 1780 01:22:47,910 --> 01:22:53,510 1781 01:22:53,510 --> 01:22:55,290 שכחתי הלוכסן האחורי ב. 1782 01:22:55,290 --> 01:23:00,240 ב- Java, היית עושה ראשון Java C להדר אותו, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 זה לא java הנקודה של C. זה. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 ואז אתה צריך להפעיל לא ./. 1787 01:23:12,140 --> 01:23:15,440 אתה מקבל קובץ חדש if.class, אבל אתה לא יכול באמת 1788 01:23:15,440 --> 01:23:17,980 לרוץ if.class עכשיו רק כמו שעשינו לפני. 1789 01:23:17,980 --> 01:23:19,440 זה אינו קובץ הפעלה. 1790 01:23:19,440 --> 01:23:20,630 אתה צריך לרוץ. 1791 01:23:20,630 --> 01:23:23,410 אתה צריך להאכיל אותו ל תכנית בשם Java, 1792 01:23:23,410 --> 01:23:28,260 ותכנית שהמכונה הווירטואלית, ואז אתה עושה if.class, או אם. 1793 01:23:28,260 --> 01:23:28,760 כן. 1794 01:23:28,760 --> 01:23:30,890 ואז זה עובד. 1795 01:23:30,890 --> 01:23:33,740 אישור אז זה סוג של מכונה וירטואלית קורה. 1796 01:23:33,740 --> 01:23:37,700 אין C ש, כך שאם הייתי לשים את התכנית במחשב של Windows, 1797 01:23:37,700 --> 01:23:40,516 זה לא יעבוד בג ב- Java שהיא עושה. 1798 01:23:40,516 --> 01:23:41,015 שאלות? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 מגניב. 1801 01:23:44,030 --> 01:23:47,160 זה אם לחלק העל להיום. 1802 01:23:47,160 --> 01:23:49,462