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 Am I за да просто да го вземе точно сега? 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 >> ALLISON: Вие не искате да въвеждане на себе си, Роб? 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 Това е петата ми година TF-ING CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: Аз съм Гавриил. 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 ALLISON: И аз съм Алисън, а това е моята втора година TF-ING CS50. 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 са вече използват Linux, Linux. 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-- сега, ако I-- освен той е блокиран от това нещо. 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 специално за това, по-специално хората са склонни да използвате Putty, 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-ЕД вътре. 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 Боудън: Secure черупки, нещо подобно? 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 GABRIEL: Secure Shell. 106 00:04:55,130 --> 00:04:56,463 ALLISON: Това е просто защитена обвивка. 107 00:04:56,463 --> 00:04:57,720 ROB Боудън: Secure Shell. 108 00:04:57,720 --> 00:05:03,700 Това е протокол, който you-- е сигурен протокол, така кодирано. 109 00:05:03,700 --> 00:05:06,850 Хората не могат да Snoop мрежата и виж какво можеш да кажеш за нещо 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-ЕД в някаква сървъра че дадохме възможност за достъп до тях, 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 отколкото да се работи с търсачка, плъзгане и кликнете върху неща. 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-ЕД в, и така по подразбиране ви 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 Въведете ли, списък на файловете в тази директория. 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 да / дом / jharvard / сваляне. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 Така / Начало / jharvard е моята домашна директория. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Така че ние можем CD разпръснати точка. 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 и това е в директорията / бин. 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 за тази директория I Исках да си върши работата вътре. 208 00:09:49,630 --> 00:09:52,670 Аз винаги се разочароват, когато го направих то в две стъпки, вместо на една стъпка, 209 00:09:52,670 --> 00:09:55,715 защото това означава, че CD - ще да въведат в това междинно място 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 имаме Nano, 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 може да се види, че каретата символ други места онлайн, за Stack Overflow, 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 Така че, за да излезете искам да направя Control X. Control 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 Сега Control X да излезете. 244 00:11:42,100 --> 00:11:44,120 Той ще каже, освен променения буфер. 245 00:11:44,120 --> 00:11:47,900 Сега бързо, Y, за да п за не. 246 00:11:47,900 --> 00:11:49,900 Control C за отказ. 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 OK. 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 Просто OK, сега съм обратно в нормален режим. 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 И след това р. 290 00:13:46,240 --> 00:13:52,600 Така Q ще се откажат, ако сте направили промени, които I-- направих промени? 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 шлем, р взрив просто 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 Touch бар. 307 00:14:39,340 --> 00:14:40,220 Докоснете Баз. 308 00:14:40,220 --> 00:14:42,810 Ако аз ли, сега виждаме, че съществуват тези файлове. 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 Бу. 323 00:15:28,665 --> 00:15:31,000 Кажете премахнете редовно празен файл Бу. 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 GABRIEL: Продължавай. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB Боудън: Great. 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 И сега, ако аз -f РМ, това е няма да каже ли искате да премахнете този файл. 342 00:16:11,330 --> 00:16:12,040 Тя просто ще го направя. 343 00:16:12,040 --> 00:16:13,720 И ли, аз не виждам бар там. 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 защитен режим, друга команда. 350 00:16:30,880 --> 00:16:34,880 Така защитен режим е заповед който прави директория. 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. защитен режим бар. 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 Така 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 Directory не е празна. 375 00:17:38,420 --> 00:17:43,420 Така че не можете да използвате премахнете реж на директория, че има неща в него. 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 Но още по-добре, така че RM-R. 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 >> Така RM-R Foo ще каже слезе в директорията 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 И RM-R Foo ще да бъде доста досадно. 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 Така защитен режим дрън дрън CD докосване 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 ОК, така че RM-RF Foo ще сляпо премахнете 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 казва, че случайно нашата RM RF-ЕД моя дом директория и всичките си 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 Дори по-лошо би било нещо като RM-RF /. 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 >> ALLISON: Въпрос е това, което е най- разлика между 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 Star цяло посредством всички съдържанието на тази директория. 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 докоснете КАТ1 докоснете КАТ2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 Така ли * 1 се ще да отпечатате КАТ1 и 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 карта. 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 Можете да използвате ли по този начин. 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 Ако имам под директория, дрън, и докоснете 1 2 3-- така че сега ако RM * звезда, 461 00:21:38,680 --> 00:21:41,450 премахнете КАТ1, КАТ2, 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 * е като да кажеш, RM КАТ1, КАТ2, dog1, dog2, дрън. 467 00:21:55,210 --> 00:22:03,630 Като има предвид, RM-RF, технически звезда ще постигнем това, което искаме, но RM -rf-- 468 00:22:03,630 --> 00:22:06,090 ако излизате от този директория, RM-RF температура, 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 >> Така че звезда е отделен в това, че Разбираемо е по-- така че това нещо 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 И ако исках, аз може да работи в / бин / Баш. 476 00:22:35,010 --> 00:22:36,930 Черупката се нарича Баш. 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 Така че звездата е нещо, разбира от Баш. 483 00:22:59,020 --> 00:23:04,260 Така RM-RF, -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 Звездата се разбира нещо от Баш, че когато вие казвате RM * 487 00:23:13,960 --> 00:23:16,890 Баш няма да кажа хей RM *, извадете звезда. 488 00:23:16,890 --> 00:23:21,010 Bash ще каже RM * премахнете КАТ1, КАТ2, 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 >> И по същия начин тилда е друг символ, който Баш разбира. 492 00:23:33,140 --> 00:23:37,130 Когато казвате, CD ~, Баш разширява че за вашата домашна директория. 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 >> Tab завършване. 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 Dow, I искам да навлизам в даунлоуд. 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 Така че, тя признава, че Dow е префикс, че 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 Така защитен режим дрън. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Нека да отидем в дрън. 513 00:24:13,300 --> 00:24:14,830 защитен режим бар. 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 Така че сега аз съм в (~ Downloads / 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 OK. 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 >> Така че тук, ако аз Впиши и какво искам да търсите? 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 Star. 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 Мога да Впиши за мяу. 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 И така мога да дойда до тук, Впиши -r за всеки случай of-- нека да редактирате 567 00:26:29,800 --> 00:26:32,010 това просто да се хвърлят котка там. 568 00:26:32,010 --> 00:26:38,800 Така Впиши-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 Докоснете КАТ2. 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 Dot винаги означава текущата директория. 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 >> OK, което аз не искам да правя там. 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 >> Но в случай, че се чудите как да направя това, така че Command K, най-малкото 612 00:28:27,140 --> 00:28:29,660 в моя терминал в Mac изчиства. 613 00:28:29,660 --> 00:28:34,660 Control 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 Reset е нещо, което просто връща да по подразбиране черен фон, 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, КАТ2, 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 >> ALLISON: Ще бриз през. 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 Така е!, Какво е това смяташ да правиш? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 Ами това изглежда да има повтаря находка точка -тип е. 670 00:30:57,810 --> 00:30:59,240 Какво ще кажете! Гр? 671 00:30:59,240 --> 00:31:00,760 Това просто Впиши -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 Това е вашата цялост на история на вашия Баш черупки, 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 Така че нека да кажем, че човек ли, така че това ми показва ли. 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 Така ли -а е друг, че може да всъщност използват малко често. 706 00:32:34,980 --> 00:32:38,130 -al е най-често ми флаг това минало ли. 707 00:32:38,130 --> 00:32:42,520 >> Така-а, забележете, има много повече файлове, отколкото само на 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 Така че това е конвенция в Linux, които файлове, които започват с точка са скрити. 712 00:32:54,710 --> 00:32:58,330 Така че това просто означава, че когато ние просто прави ли, 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 Така DOT, файлове те са просто скрити. 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 Echoes здравей свят. 736 00:33:57,890 --> 00:34:02,650 >> Така че една команда или един символ, който Баш разбира 737 00:34:02,650 --> 00:34:07,620 е тази по-голяма, отколкото символ и че е на изхода за символ файл. 738 00:34:07,620 --> 00:34:10,940 Така че, ако аз изход това дрън, сега има файл 739 00:34:10,940 --> 00:34:15,100 наречен Foo, вътре което е здравей свят. 740 00:34:15,100 --> 00:34:18,489 Така забележите, че когато ехо здравей свят тръба в дрън, 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 Можете да направите това, тогава погледнем назад и да кажа, о I 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 Всеки прост Linux команда? 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 взема неща от файла дрън и използва това като принос към тази програма. 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 Така че, вместо да забележите, ако аз ехо бла в дрън и после котка дрън, това е просто дрън. 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 Pipe получава много по-сложна, когато тя е на изхода на една команда 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 Покажи ми всички команди в моята история където I Впиши-ЕД за нещо. 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 All намерите команди, което някога съм се завтече. 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 Вместо това аз ще го прибирайте в Впиши. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 Така че нека да Впиши за всички случаи на находка. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 Така че сега, вместо да Впиши поемане на входа, вместо of-- 798 00:37:17,000 --> 00:37:24,360 Впиши е в състояние да се справят както input-- сме използвайки Впиши малко по-различно тук. 799 00:37:24,360 --> 00:37:29,550 Така че, вместо да пишете в списъка на неща, които искахме да търсите 800 00:37:29,550 --> 00:37:31,070 и каза: Впиши се приема като вход. 801 00:37:31,070 --> 00:37:34,810 Така че, ако аз просто Впиши се намери, то чака за мен да въведете неща. 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 Ние сме пускането, че продукцията, и ние сме хранене да Впиши, 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 Причината, поради която каза, че ще бъде объркващо е, ако I-- тя все още е объркващо. 815 00:38:05,570 --> 00:38:07,030 Ако Впиши за Впиши. 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 избяга, защото тази команда Самата има Впиши вътре в него. 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 Също така имайте предвид, че на командния ред себе си, Баш е език за програмиране, 827 00:38:39,140 --> 00:38:43,070 и така, когато стигнете до него, Може би искате да направите наистина сложни неща. 828 00:38:43,070 --> 00:38:47,522 И така, има неща като контури и IFS, и всички онези, 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 ALLISON: None? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: Ще to-- 836 00:38:59,450 --> 00:39:01,158 ALLISON: Мога да го направя на мина, ако искаш. 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 ALLISON: Woo. 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 Или имаш, OK. 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 >> Така че аз съм просто ще много бързо да отидете чрез променливи, Loops, условностите, 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 Ние нямаме един от вашите Scratch парчета тук. 860 00:39:48,060 --> 00:39:50,440 Сигурен съм, че повечето от вас, ако сте имали някаква игра 861 00:39:50,440 --> 00:39:53,810 който сте създали с Scratch, имахте да следите на нещо като резултат, 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 С С всяка променлива има да има обявен за тип, 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 И тогава можете също в този последен Например с инт полувремето и номер 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 Cool. 900 00:41:27,190 --> 00:41:28,550 Всеки добър? 901 00:41:28,550 --> 00:41:29,470 Awesome. 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 Боудън: I, J и K са само конвенции за за вериги 917 00:42:18,449 --> 00:42:22,050 че всеки очаква от тях да се нарича I, J и К. 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 Но аз и й е напълно изяснен. 921 00:42:31,450 --> 00:42:33,670 >> ALLISON: Да, аз и й вие сте напълно добре. 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 Но аз мисля, че, й и к мисля по-голямата част от нас всяка употреба. 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 >> ALLISON: В действителност, ние има стил 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 GABRIEL: Вашият клас ще бъдат по-високи. 956 00:43:55,650 --> 00:43:56,858 ALLISON: Да, и ви клас. 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 имаме примера тук където ние сме обявяване целочислени 969 00:44:29,050 --> 00:44:31,180 в променливи на квартали Dimes и пари, 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 ние вече инициализира Dimes до 0. 973 00:44:38,600 --> 00:44:41,650 Така че или направя квартали, Dimes, пари. 974 00:44:41,650 --> 00:44:43,170 Или квартали равни 0. 975 00:44:43,170 --> 00:44:43,930 Dimes равняват на 0. 976 00:44:43,930 --> 00:44:46,810 Pennies равни 0, или каквото и тези начални стойности са. 977 00:44:46,810 --> 00:44:49,800 >> Big нещо със стил, да бъде последователна. 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 Cool. 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 ALLISON: Водачът на стил е on-- какво е сайта? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: Мисля, че е manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 ALLISON: Style? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL: Style. 990 00:45:06,390 --> 00:45:06,920 Да. 991 00:45:06,920 --> 00:45:07,520 >> ALLISON: Да. 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 резултат и след това инт цел. 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 >> ALLISON: Така че въпрос, трябва имате излишни код 1000 00:45:37,640 --> 00:45:40,940 когато дефинирате променливи като INT резултат и 1001 00:45:40,940 --> 00:45:43,239 на следващия ред инт игра? 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 Така че аз ще кажа инт полувремето наклонена черта черта. 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 Така че това е много по-чудовищно по този начин да ги постави на една и съща линия. 1012 00:46:06,455 --> 00:46:08,080 Просто никога не съм ги поставят на една и съща линия. 1013 00:46:08,080 --> 00:46:10,580 >> ALLISON: Аз се чувствам като това е лични предпочитания в този момент. 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 Подобно инт аз равна на 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 и е равна на 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 и е равна на 0 запетая й се равнява на 3 запетая к равнява на 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 ALLISON: Awesome. 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 Така че, да, тук имаме няколко примера на контура, че вие, момчета видяха в Scratch. 1033 00:46:58,980 --> 00:47:01,550 И разбира се, всички тези просто може да бъде пресъздадено в C. 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 и е равна на 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 Cool. 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 Cool. 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 >> ALLISON: Така че въпросът е как може да се актуализиране на променлива с повече от един 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 >> ALLISON: Това е ефективно едно и също нещо, както аз се равнява аз плюс 2. 1092 00:49:42,110 --> 00:49:46,130 Така че ще го вземе и да го актуализирате по две всеки път. 1093 00:49:46,130 --> 00:49:49,432 Plus е равна е просто нещо, ние наричаме синтактична захар. 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 разделен от 3. 1097 00:50:02,590 --> 00:50:07,399 >> ALLISON: Или минус е равно на 2, ще намалите стъпково аз по две всеки път. 1098 00:50:07,399 --> 00:50:08,565 ROB Боудън: Дори мод равни. 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 >> ALLISON: Така че много пъти, особено с вашата първа двойка на Р комплекти, 1103 00:50:19,480 --> 00:50:22,527 ще бъде най-вероятно увеличаване на един, така че аз плюс плюс, й плюс плюс 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 Вие не сте ограничени до и плюс плюс. 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 ALLISON: Cool. 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 Awesome. 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 GABRIEL: Докато вярно. 1137 00:51:30,235 --> 00:51:32,110 ALLISON: Може да се направи, докато е вярно. 1138 00:51:32,110 --> 00:51:33,510 Е, едно е равно на едно. 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 >> ALLISON: Awesome. 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 или направя догдето са наистина полезен с валидиране на потребителя. 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 Той ще каже, OK, е нашият принос отрицателен, 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 >> ALLISON: Значи въпрос е би това е същото като просто известно време 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 ALLISON: Това ще бъде едно и също нещо, да. 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 GABRIEL: Но това е по-елегантен. 1184 00:53:39,350 --> 00:53:41,020 ALLISON: Да, това е по-елегантен. 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 OK, хладно. 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 >> Cool, толкова голям, ако. 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 сис условия. 1200 00:54:17,790 --> 00:54:22,150 Така че в този случай, OK, п е по-голямо от 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 Cool. 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 Cool. 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 еlse-никога няма да се изпълни. 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 >> ALLISON: Веднага след като го намира нещо че отговаря на условието, че за 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 Cool? 1247 00:56:26,394 --> 00:56:27,250 Awesome. 1248 00:56:27,250 --> 00:56:31,300 >> OK ние също имаме ключ отчети, ако искате да получите дори 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 >> ALLISON: Въпросът е ще бъде това бъги или не това прави каквото искаш. 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 ALLISON: Ако сложите 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 GABRIEL: Вие ще получите две неща. 1272 00:57:27,250 --> 00:57:28,916 ALLISON: Вие ще получите две неща. 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 Боудън: Two? 1276 00:57:33,920 --> 00:57:34,580 >> ALLISON: No. 1277 00:57:34,580 --> 00:57:35,288 >> ROB Боудън: Four. 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 имаш D. 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 ALLISON: Точно така. 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 и п-малко от или равно на 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 ALLISON: Awesome. 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 в този случай тя е н и определя кои случаи да се изпълни. 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-- независимо от стойността на п 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 сравнение ако иначе в сравнение с ключове ще 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 Така че, ако п е равен равен на 1, отпечатване сте избрали по-малък брой. 1353 01:01:00,930 --> 01:01:04,490 Ако друго, ако п е равно на е равно на 2, сте избрали средно число. 1354 01:01:04,490 --> 01:01:06,550 Иначе ако равни равнява на 3, висока. 1355 01:01:06,550 --> 01:01:08,060 Else невалиден. 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 Тя не трябва да се провери ч I случай 1? 1372 01:01:41,460 --> 01:01:42,350 Nope, че не е това. 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 Default. 1378 01:01:45,090 --> 01:01:47,610 OK, това трябва да бъде там, където съм искате, и след това се изпълни това. 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 >> ALLISON: Cool. 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 и п е равен на по-голяма от 100 въпросителен знак високо дебелото черво ниска. 1395 01:02:35,810 --> 01:02:41,800 Така че основно как работи това е, това е п по-голяма от 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 Той казва, о, е п-голяма от 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 би било, ако п е по-голямо от 100, върнете висока. 1407 01:03:12,480 --> 01:03:14,220 Else, върнете ниска. 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 Така че ние не сме говорили за обхват все още, но аз мразя да виждам низ и запетая. 1413 01:03:35,460 --> 01:03:39,150 Ако по-голяма от 100 N, S е равна висока. 1414 01:03:39,150 --> 01:03:40,660 Else, и се равнява на ниска. 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 Това е пример I точка на всеки един момент. 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 >> ALLISON: Вземете го далеч Габе. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: Така че сега вие всички наученото в лекция тази седмица 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 >> GABRIEL: Можете да определя специален малко, което ще бъде 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 Cool. 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 Cool. 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 Така че нека да кажем, че това тук е една. 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 OK? 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 Flip, флип, флип. 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 OK? 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 OK. 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 >> GABRIEL: Какво искаш да кажеш? 1536 01:09:27,280 --> 01:09:29,240 >> АУДИТОРИЯ: Negative в положителен [недоловим]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: Не, флип и добавете 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 Така че, ако аз напиша нещо като знак в се равнява на, бих могъл в същото време 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 Но вие може просто да се справят с числа вместо променливи от тип Чар, 1553 01:10:22,410 --> 01:10:23,490 и ще се оправи. 1554 01:10:23,490 --> 01:10:28,410 Единственото действително разликата между Чар в и инт аз 1555 01:10:28,410 --> 01:10:31,960 е, че инт има четири байта в най- системи, а Чар има един байт. 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 Тук ние сме печат цифра използване ФОРМАТ с плюс 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 плюс малко минус голям A, което ще бъде, аз наистина не знам. 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 Ние вече говорим за инт. 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 Тогава аз попитах защо трябва Което някога съм използва инт тогава? 1580 01:11:43,290 --> 01:11:45,590 Защото, ако мога да използвам всички реални числа с плаваща запетая, 1581 01:11:45,590 --> 01:11:47,120 Аз просто ще спре да използва цели числа, нали? 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 по същество са различни, защото на начина, по който те се съхраняват, OK? 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 Long дълго 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 И това ще направи х бъде променливо като всичко е положителен, 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 Това е една от причините, поради които искате да използвате цели числа, вместо плувки, 1605 01:13:01,890 --> 01:13:04,370 тъй като цели числа са 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 >> АУДИТОРИЯ: [недоловим] като ако беше две цели числа и една 1636 01:14:33,552 --> 01:14:36,890 е на [недоловим] и една благосъстоянието всичко след десетичната запетая. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, хладно. 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 Какво ERE щеше да кажеш? 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 >> GABRIEL: Научно нотация, Да, това е обикновено това, което се случва. 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 Така че това ще бъде нещо на формата на 1, 2, 3, 4, 5 пъти 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 >> GABRIEL: Това е сложен въпрос, защото той никога не е наистина 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 Това ще бъде 0,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 Ако използвате двойно, че ще бъде много по-точен от това, OK? 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 в С, въпреки факта, че те са различни номера, 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 GABRIEL: Да, толкова по-бързо бележка. 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 е език че най-вече на базата на С, 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 Аргументът низа ще да се яви в 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 вид на еквивалент за ФОРМАТ. 1724 01:19:11,140 --> 01:19:17,150 Тук ние наистина не се нуждаете от наклонена черта п защото печат 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-- те са почти едно и също нещо, с изключение на Java 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 Тук можем да направим, плюс I и 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, което трябва да се направи и% D. 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 >> И ако погледнем, ако ИС също изглежда точно същото, нали? 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 Това не е C. Тя е точка на Java. 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 тя няма да работи в C. В 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 Cool. 1801 01:23:44,030 --> 01:23:47,160 Това е, ако за супер раздел за днес. 1802 01:23:47,160 --> 01:23:49,462