1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB BOWDEN: Dit is die meer gemaklik artikel, 3 00:00:13,351 --> 00:00:16,309 maar dit beteken nie dat as jy voel soos jy nie meer gemaklik 4 00:00:16,309 --> 00:00:18,420 jy sal nie hier leer om dinge. 5 00:00:18,420 --> 00:00:20,600 So laat ons begin. 6 00:00:20,600 --> 00:00:22,819 Het jy skyfies gaan regs in dinge. 7 00:00:22,819 --> 00:00:24,360 Ek is op die punt om net neem dit nou? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 Skakel skootrekenaars. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> ALLISON: Jy wil nie stel jouself, Rob? 12 00:00:32,950 --> 00:00:34,090 >> ROB BOWDEN: O, ek is Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 Dit is my vyfde jaar TF-ing CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: Ek is Gabriël. 17 00:00:39,650 --> 00:00:41,610 Ek is hoof TF van CS50. 18 00:00:41,610 --> 00:00:44,009 Ek was TF verlede jaar en vanjaar. 19 00:00:44,009 --> 00:00:46,675 ALLISON: En ek is Alison, en dit is my tweede jaar TF-ing CS50. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB BOWDEN: Alle reg, sodat hierdie ding aan die linkerkant, 22 00:00:50,825 --> 00:00:52,250 Hopelik sal jy nog nooit gesien nie. 23 00:00:52,250 --> 00:00:54,112 Indien nie, want jy laai dit vir jouself, 24 00:00:54,112 --> 00:00:55,570 jy moet gesien het dit in lesing. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 So dit is die CS50 toestel, en hy het 'n bietjie van 'n beskrywing van dit 27 00:01:01,320 --> 00:01:01,880 in lesing. 28 00:01:01,880 --> 00:01:06,890 Maar basies is dit net jy loop 'n bedryfstelsel 29 00:01:06,890 --> 00:01:10,550 stelsel in jou bedryfstelsel stelsel, sodat ons kan gee 30 00:01:10,550 --> 00:01:12,540 programme sonder bekommerd te wees, o is dit 31 00:01:12,540 --> 00:01:15,989 gaan werk op beide Windows en Mac, of indien sommige van julle 32 00:01:15,989 --> 00:01:17,280 is reeds met behulp van Linux, Linux. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 Dit is net veronderstel om te 'n gemeenskaplike speel 35 00:01:20,240 --> 00:01:23,010 veld sodat almal die presies dieselfde omgewing. 36 00:01:23,010 --> 00:01:25,344 >> So as jy nie het nie reeds afgelaai het, 37 00:01:25,344 --> 00:01:28,510 jy moet dit laai, omdat jy gaan dit nodig vir die probleem stel. 38 00:01:28,510 --> 00:01:32,335 En dit is 'n twee GB laai, so dit 'n rukkie kan neem. 39 00:01:32,335 --> 00:01:33,780 Op die Harvard sal dit vinnig gaan. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 So CS50 toestel. 42 00:01:37,440 --> 00:01:41,980 >> En in die begin, gaan ons praat oor net 'n klomp van die opdrag lyn 43 00:01:41,980 --> 00:01:46,880 dinge, en so deur daardie, ek beteken werk in hierdie klein omgewing hier. 44 00:01:46,880 --> 00:01:53,230 En kennis van al die dinge Ek sê hier nou 45 00:01:53,230 --> 00:01:56,900 gaan om te werk as jy die binnekant van 'n terminale binnekant van die toestel, 46 00:01:56,900 --> 00:02:00,790 of as jy binne die gedit terminale venster 47 00:02:00,790 --> 00:02:02,090 binnekant van die toestel. 48 00:02:02,090 --> 00:02:03,770 So daardie omgewings is identies. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> Maar ek gaan 'n derde roete om te gaan. 51 00:02:07,270 --> 00:02:12,200 En let down hier bietjie IP-adres hier. 52 00:02:12,200 --> 00:02:15,940 So jy hoef nie te doen dit, maar dit IP 53 00:02:15,940 --> 00:02:19,700 address-- nou as I-- behalwe dit is geblokkeer deur hierdie ding. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 OK, sodat IP adres oor in 'n terminale 56 00:02:27,000 --> 00:02:31,090 here-- so hierdie terminaal oor hier is 'n terminale in my Mac. 57 00:02:31,090 --> 00:02:34,540 So is dit in geen manier wat tans wat verband hou met die toestel nie. 58 00:02:34,540 --> 00:02:39,360 En as jy op Windows, dan is jy gaan iets nodig het om af te laai 59 00:02:39,360 --> 00:02:44,430 spesifiek vir hierdie, in die besonder mense is geneig om te gebruik Putty, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> So wat ek gaan doen is om tipe SSH en dan IP adres. 61 00:02:50,700 --> 00:02:54,030 Wel, jharvard op daardie IP-adres. 62 00:02:54,030 --> 00:03:00,150 So 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 Hierdie scary boodskap ignoreer. 64 00:03:02,127 --> 00:03:02,710 Tik net ja. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 Dit is CS50 in 'n boks. 67 00:03:06,030 --> 00:03:07,460 Dit vra vir jou wagwoord. 68 00:03:07,460 --> 00:03:11,910 >> En so 'n groot deel van hierdie konteks waar dit vra vir die wagwoord, [onhoorbaar]. 69 00:03:11,910 --> 00:03:15,670 Ons het 'n baie vrae waar dit sê dit is nie eintlik tik. 70 00:03:15,670 --> 00:03:20,011 Dit maak nie jou wys die karakters van die wagwoord as jy tik, indien enigiets, 71 00:03:20,011 --> 00:03:23,010 vir 'n sekuriteit funksie, want as iemand wat oor jou skouer 72 00:03:23,010 --> 00:03:25,870 en hulle sien star star, dan sal hulle 73 00:03:25,870 --> 00:03:28,640 weet dat jou wagwoord is vier karakters. 74 00:03:28,640 --> 00:03:32,660 Dus is die idee is dit sal vra vir jou wagwoord tipe. 75 00:03:32,660 --> 00:03:34,490 Dit gaan nie om te wys jy die karakters, 76 00:03:34,490 --> 00:03:36,090 maar dit is eintlik die aanvaarding van hulle. 77 00:03:36,090 --> 00:03:39,210 In hierdie geval, enige tyd wat jy ooit sien 'n wagwoord gevra 78 00:03:39,210 --> 00:03:42,280 die hantering van die toestel, die wagwoord gaan bloedrooi te wees. 79 00:03:42,280 --> 00:03:43,270 So bloedrooi. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> En nou hier binnekant van hierdie venster wat in my Mac, 82 00:03:50,550 --> 00:03:54,120 Ek is basies met presies dieselfde siening 83 00:03:54,120 --> 00:03:57,040 as binne-in 'n terminale in die toestel. 84 00:03:57,040 --> 00:03:58,470 So jy hoef nie om dit te doen. 85 00:03:58,470 --> 00:04:01,300 Jy kan alles doen wat jy wil binnekant van die toestel. 86 00:04:01,300 --> 00:04:05,140 Ek het amper nooit werklik doen enigiets in die toestel. 87 00:04:05,140 --> 00:04:09,440 Ek het amper altyd beperk wat nou Ek werk SSH in die toestel. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> As daar iets is, as jy 'n stadiger rekenaar, 90 00:04:14,180 --> 00:04:15,820 jy kan 'n verskil. 91 00:04:15,820 --> 00:04:18,839 Ek doen dit omdat ek verkies hierdie terminale venster. 92 00:04:18,839 --> 00:04:20,881 Dit het 'n paar funksies soos Ek kan die venster verdeel, 93 00:04:20,881 --> 00:04:22,672 en nou kan ek ssh in deur die toestel. 94 00:04:22,672 --> 00:04:24,105 Ek het twee SSH gaan op 'n keer. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 As jou rekenaar is veral stadig en jy werk in die toestel, 97 00:04:32,250 --> 00:04:35,200 en jy besef dit is regtig laggy, wat ook al. 98 00:04:35,200 --> 00:04:38,220 Geneig is om te wees baie vinniger as jy SSH-Ed in. 99 00:04:38,220 --> 00:04:40,960 Maar anders kan jy óf weg te werk. 100 00:04:40,960 --> 00:04:42,388 >> Publiek: Wat beteken SSH beteken? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB BOWDEN: Veilige skulpe, iets soos dit? 103 00:04:47,479 --> 00:04:48,270 Wat beteken SSH beteken? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL: Veilige dop. 106 00:04:55,130 --> 00:04:56,463 ALLISON: Dis net veilige dop. 107 00:04:56,463 --> 00:04:57,720 ROB BOWDEN: Veilige dop. 108 00:04:57,720 --> 00:05:03,700 Dit is 'n protokol wat you-- dit 'n veilige protokol, so geïnkripteer. 109 00:05:03,700 --> 00:05:06,850 Mense kan nie snoop die netwerk en sien wat jy aan enigiets sê nie 110 00:05:06,850 --> 00:05:08,120 jy SSH-ed te. 111 00:05:08,120 --> 00:05:12,900 En in werklikheid, in die ou dae van CS50, so in 2009 112 00:05:12,900 --> 00:05:19,300 toe ek 'n groentjie, die manier waarop jy gewerk het op CS50 probleem stelle, 113 00:05:19,300 --> 00:05:22,490 was jy SSH-ed sommige bediener dat ons het toegang tot, 114 00:05:22,490 --> 00:05:23,497 en jy het op daar. 115 00:05:23,497 --> 00:05:25,330 So jy het nie hierdie grafiese toestel. 116 00:05:25,330 --> 00:05:26,160 Jy het nie gedit. 117 00:05:26,160 --> 00:05:28,930 Jy het nie al hierdie dinge het wat jy kan visueel punt en klik. 118 00:05:28,930 --> 00:05:30,346 Jy het om te werk in hierdie koppelvlak. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 Ek verkies om te werk in hierdie koppelvlak. 121 00:05:33,716 --> 00:05:36,090 So deel van wat ons gaan word gaan oor nou 122 00:05:36,090 --> 00:05:39,560 is 'n klomp van die beveel dat jy moet 123 00:05:39,560 --> 00:05:42,095 begin vertroud is met as te kry jy gaan saam in die kursus. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 En eerlik, wanneer jy gewoond raak aan hulle, dit 126 00:05:45,790 --> 00:05:48,220 is soveel vinniger te werk in hierdie omgewing 127 00:05:48,220 --> 00:05:53,690 as wat dit is om te werk met Well, sleep en te klik dinge. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> So hier is ons. 130 00:05:57,210 --> 00:06:01,779 Nou het ek net SSH-Ed in, en so die verstek location-- jy 131 00:06:01,779 --> 00:06:04,820 het 'n paar van hierdie opdragte in die klas, maar ons sal gaan oor almal van hulle weer. 132 00:06:04,820 --> 00:06:08,060 Die standaard plek is ons in die huis gids. 133 00:06:08,060 --> 00:06:11,520 En gids, net 'n ander woord vir die gids. 134 00:06:11,520 --> 00:06:13,310 So is ons in die huis gids. 135 00:06:13,310 --> 00:06:15,889 Tik LS, lys die lêers in hierdie gids. 136 00:06:15,889 --> 00:06:17,430 Klaarblyklik het ek 'n blah.c geskep vroeër. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 So het ons 'n lessenaar gids. 139 00:06:20,472 --> 00:06:21,930 Jy sien die accentuering? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 Die ligblou beklemtoon dui 'n gids en die reguit wit 142 00:06:32,900 --> 00:06:34,380 dui net 'n plain lêer. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 So is daar gaan wees 'n ander kleur wat jy sien. 145 00:06:37,690 --> 00:06:41,240 'N uitvoerbare lêer is waarskynlik gaan groen of iets soos dit. 146 00:06:41,240 --> 00:06:44,820 OK, so ons is in die huis gids. 147 00:06:44,820 --> 00:06:48,970 >> Nou as ek wil om te gaan in 'n ander gids, CD is die opdrag wat Ek wil hê. 148 00:06:48,970 --> 00:06:52,720 So verander gids, en dan moet jy slaag die naam van die gids 149 00:06:52,720 --> 00:06:54,020 wat jy wil gaan in. 150 00:06:54,020 --> 00:06:55,780 So hier het ons vier opsies. 151 00:06:55,780 --> 00:07:03,397 Ek kan gaan in afgelaai, en nou sien ons hier is dit hierdie hakies opgedateer 152 00:07:03,397 --> 00:07:04,480 om te sê ek is in ~ / afgelaai. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> So, wat is tilde? 155 00:07:06,800 --> 00:07:10,640 Dit is 'n snelskrif vir jou huis gids. 156 00:07:10,640 --> 00:07:15,260 So byna alles wat jy doen gaan wees met betrekking tot jou huis gids, 157 00:07:15,260 --> 00:07:20,620 en PWD is net 'n opdrag Ek gebruik een keer in 'n jaar wat 158 00:07:20,620 --> 00:07:22,420 net druk die huidige gids. 159 00:07:22,420 --> 00:07:25,730 En sodat jy hier dat sien ~ / Downloads regtig besluit 160 00:07:25,730 --> 00:07:26,896 na / huis / jharvard / afgelaai. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 So / home / jharvard is my huis gids. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Sodat ons kan CD dot dot. 165 00:07:39,400 --> 00:07:47,800 Nou dot dot is 'n spesiale gids wat verwys altyd na die een gids tot. 166 00:07:47,800 --> 00:07:51,730 So as ek in ~ / downloads, dan cd dot dot gaan my te bring tilde. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 Wat dink ons ​​cd dot dot gaan my te bring nou? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 Dit sal my bring na / huis. 171 00:08:00,570 --> 00:08:04,450 So tilde deur druk werk gids, Ek is nou in / home / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 een gids uit dat, nou is dit hier sê / huis. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> Nou cd dot dot. 176 00:08:17,180 --> 00:08:20,910 Nou is ek in die hoofdmap, en jy kan dit nie weer doen. 177 00:08:20,910 --> 00:08:23,340 Jy sal net bly in die hoofdmap vir ewig. 178 00:08:23,340 --> 00:08:26,700 Die wortel gids het 'n hele klomp van die dinge wat, as jy wil om te kyk na, 179 00:08:26,700 --> 00:08:27,410 wat jy kan. 180 00:08:27,410 --> 00:08:29,700 Byvoorbeeld, as ek gaan in bin, wat bevat 181 00:08:29,700 --> 00:08:35,789 al hierdie binaries, soos LS, en CD, en al daardie dinge. 182 00:08:35,789 --> 00:08:38,630 So hierdie opdragte moet in die stelsel bestaan ​​iewers, 183 00:08:38,630 --> 00:08:40,820 en dit is in die / bin gids. 184 00:08:40,820 --> 00:08:44,530 Maar byna alles wat jy doen, is gaan wees van jou huis gids. 185 00:08:44,530 --> 00:08:49,490 En cd sonder enige argumente ookal, jy kan sê CD ~, nie nodig het om te. 186 00:08:49,490 --> 00:08:51,810 cd gaan om jou te bring terug na jou huis gids. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> Een laaste een. 189 00:08:54,230 --> 00:09:00,200 CD - gaan jy terug te bring na die laaste gids wat jy in. 190 00:09:00,200 --> 00:09:04,080 So het ek net twee keer cd'd in 'n ry, so my laaste gids was die huis gids. 191 00:09:04,080 --> 00:09:11,520 As ek gaan bin te sny, en nou laat ons gaan en in die gebruiker. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 Gebruiker aandeel. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 Kom ons gaan na die gebruiker aandeel. 196 00:09:15,940 --> 00:09:17,140 Nou is ek nou in die gebruiker aandeel. 197 00:09:17,140 --> 00:09:19,320 CD -, terug in bin. 198 00:09:19,320 --> 00:09:22,980 So dit kry veral nuttig wanneer jy have-- en dit sal wissel. 199 00:09:22,980 --> 00:09:25,660 So gebruiker aandeel terug bin, deel bin. 200 00:09:25,660 --> 00:09:27,250 >> So dit kry nuttig. 201 00:09:27,250 --> 00:09:33,150 Jy mag vind dat jy baie, baie, baie sub dopgehou. 202 00:09:33,150 --> 00:09:37,370 En jy wil om iets te doen ware vinnig in 'n boonste gids. 203 00:09:37,370 --> 00:09:40,330 Jy gaan na die gids, maak veranderinge en dinge soos wat, 204 00:09:40,330 --> 00:09:42,400 en nou wil jy om te gaan terug na waar jy was. 205 00:09:42,400 --> 00:09:43,660 CD -. 206 00:09:43,660 --> 00:09:47,320 Ek is altyd gefrustreerd toe ek gebeur om te gaan 207 00:09:47,320 --> 00:09:49,630 na die directory ek wou werk in te doen. 208 00:09:49,630 --> 00:09:52,670 Ek kry altyd gefrustreerd toe ek dit gedoen dit in twee stappe plaas van een stap, 209 00:09:52,670 --> 00:09:55,715 want dit beteken dat CD - gaan te bring in daardie intermediêre plek 210 00:09:55,715 --> 00:09:57,010 in plaas van waar ek wil gaan. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> So sien ons almal die lys lêers. 213 00:10:01,450 --> 00:10:03,300 Ons weet hoe om te kry om so ver. 214 00:10:03,300 --> 00:10:09,900 So nou kom ons praat oor die wysiging van lêers. 215 00:10:09,900 --> 00:10:18,790 So in hierdie kursus, jy is amper altyd verwag gedit te gebruik. 216 00:10:18,790 --> 00:10:24,410 As jy wil, kan jy die volgende stap neem en begin leer om 'n command line teks 217 00:10:24,410 --> 00:10:25,240 editor. 218 00:10:25,240 --> 00:10:27,560 So verskeie opsies bestaan. 219 00:10:27,560 --> 00:10:31,760 >> En die kinders wat waarskynlik gaan betrokke te wees, 220 00:10:31,760 --> 00:10:35,340 ons het Nano, Vim, en Emacs. 221 00:10:35,340 --> 00:10:40,196 So Nano is die beginners command line teks editor. 222 00:10:40,196 --> 00:10:42,985 So Nano laat gaan blah.c ek gemaak het vroeër. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 Dis net die standaard C-lêer. 225 00:10:46,480 --> 00:10:51,540 En jy sien 'n hele klomp van die dinge gaan op die onderkant van die skerm, 226 00:10:51,540 --> 00:10:54,100 en blykbaar blah.c bevat hierdie C-kode. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> So in hierdie spesifieke redakteur, wat dit sê op die bottom-- 229 00:11:00,330 --> 00:11:06,290 nou hierdie kappie simbool, ons sien dit ^ G ^ X ^ O. 230 00:11:06,290 --> 00:11:10,310 Sodat in feitlik alle konteks wat jy sien, 231 00:11:10,310 --> 00:11:13,530 jy kan sien dat kappie simbool in ander plekke aanlyn, op stapel oorloop, 232 00:11:13,530 --> 00:11:14,450 iets soos dit. 233 00:11:14,450 --> 00:11:16,970 Dit verwys byna altyd te beheer. 234 00:11:16,970 --> 00:11:21,590 So om af te sluit wat ek wil doen Beheer X Control X, verlaat. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 En ek kan my pyl gebruik sleutels om rond te beweeg. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 Let Ek kan nie punt en klik geredelik. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 Jy moet gebruik om jou pyl sleutels om rond te beweeg. 241 00:11:35,010 --> 00:11:36,950 Daar is dalk 'n instelling wees te wys en klik. 242 00:11:36,950 --> 00:11:40,000 >> Maar laat ons maak 'n paar veranderinge. 243 00:11:40,000 --> 00:11:42,100 Nou Control X te gaan uitgang. 244 00:11:42,100 --> 00:11:44,120 Dit gaan red veranderde buffer te sê. 245 00:11:44,120 --> 00:11:47,900 Nou is die vinnige, y vir ja, N vir. 246 00:11:47,900 --> 00:11:49,900 Beheer C vir kanselleer. 247 00:11:49,900 --> 00:11:50,780 Ek sal net sê ja. 248 00:11:50,780 --> 00:11:51,709 Lêer naam te skryf. 249 00:11:51,709 --> 00:11:53,500 Die standaard is die lêer wat dit reeds is. 250 00:11:53,500 --> 00:11:54,230 Druk Enter. 251 00:11:54,230 --> 00:11:54,740 OK. 252 00:11:54,740 --> 00:11:58,580 Nou het ek net geredigeer lêer, gered, en dit is verander. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> So Nano is die maklikste teks editor gewoond te raak. 255 00:12:03,000 --> 00:12:05,520 Die alternatiewe is Vim en Emacs. 256 00:12:05,520 --> 00:12:11,250 Dit is 'n hoër vlak teks editors wat 'n baie steil leerkurwe. 257 00:12:11,250 --> 00:12:13,740 So my persoonlike voorkeur is Vim. 258 00:12:13,740 --> 00:12:17,175 En dit het 'n wye verskeidenheid van opsies. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 En as jy gewoond raak om dit te, sal jy nooit 261 00:12:24,070 --> 00:12:26,900 wil om te gaan na 'n ander teks editor, omdat jy net 262 00:12:26,900 --> 00:12:29,590 het so baie dinge beskikbaar vir jou in hierdie, 263 00:12:29,590 --> 00:12:31,690 maar dit neem 'n baie lang tyd om te leer. 264 00:12:31,690 --> 00:12:36,000 So miskien het jy wil net te dwing jouself nou te kry om dit te gebruik, 265 00:12:36,000 --> 00:12:38,130 maar ek sou sê dit is die moeite werd. 266 00:12:38,130 --> 00:12:39,660 Maar dit is moeilik. 267 00:12:39,660 --> 00:12:41,220 >> En dan Emacs. 268 00:12:41,220 --> 00:12:44,940 Ek het altyd sukkel om in Emacs omdat Ek weet hoe absoluut niks te doen nie. 269 00:12:44,940 --> 00:12:47,755 Blykbaar Emacs is nie by verstek geïnstalleer op die toestel. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 Ons sal waarskynlik byvoeg dat as 'n standaard installasie. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 Sodra jy leer een van Vim of Emacs, is daar 274 00:13:02,390 --> 00:13:04,810 geen dwingende rede om te ooit leer om die ander, 275 00:13:04,810 --> 00:13:07,570 maar dit is 'n heeltemal ander styl. 276 00:13:07,570 --> 00:13:10,460 OK so dit is die wysiging van teks lêers. 277 00:13:10,460 --> 00:13:13,374 >> Publiek: As jy vas in Vim nou, hoe we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB BOWDEN: Daar is verskeie maniere in Vim, 280 00:13:20,800 --> 00:13:23,770 en daar is die hele tutoriale op die leer Vim. 281 00:13:23,770 --> 00:13:27,390 So as jy gebeur om te wees in insetsel af in orde 282 00:13:27,390 --> 00:13:29,930 om te tik die teks, wat jy kan ingaan wat op verskeie maniere, 283 00:13:29,930 --> 00:13:31,610 maar ek is hoe jy in insetsel af. 284 00:13:31,610 --> 00:13:34,780 In of uit enige spesiale af wat jy is nie, net ontsnap. 285 00:13:34,780 --> 00:13:37,640 En jy moet net bash Escape te kry uit enige geneste modes jou in. 286 00:13:37,640 --> 00:13:40,360 Net OK, nou is ek terug in die normale modus. 287 00:13:40,360 --> 00:13:43,790 >> En so in normale modus, 'n kolon. 288 00:13:43,790 --> 00:13:45,160 Jy sien dit aan die onderkant. 289 00:13:45,160 --> 00:13:46,240 En dan q. 290 00:13:46,240 --> 00:13:52,600 So Q sal ophou as jy veranderinge gemaak het, wat I-- Ek maak veranderinge? 291 00:13:52,600 --> 00:13:54,180 Ek het veranderinge blykbaar gemaak. 292 00:13:54,180 --> 00:13:57,264 So as jy veranderinge gemaak het, sal dit sê jy kan 'n uitroepteken sit. 293 00:13:57,264 --> 00:13:58,430 Ek gaan om dit te noem 'n knal. 294 00:13:58,430 --> 00:14:02,040 So kan jy 'n verbod te plaas net afsluit sonder om iets te doen, 295 00:14:02,040 --> 00:14:04,520 of kolon WQ sal red en stop. 296 00:14:04,520 --> 00:14:06,580 So w in die algemeen is skryf. 297 00:14:06,580 --> 00:14:08,300 So skryf die lêer. 298 00:14:08,300 --> 00:14:09,810 Ek kan skryf en op te hou. 299 00:14:09,810 --> 00:14:13,606 Of jy kan net qx Slam, Q bang net 300 00:14:13,606 --> 00:14:16,230 uit te kry daar, ongeag van enige veranderinge wat jy gemaak het. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> Alle reg, so laat ons nou go-- ons kan skep lêers. 303 00:14:28,940 --> 00:14:30,890 Kom ons begin die verwydering van lêers. 304 00:14:30,890 --> 00:14:35,450 En ek sal net gooi in een vinnige nuwe opdrag, touch. 305 00:14:35,450 --> 00:14:38,200 So raak cat. 306 00:14:38,200 --> 00:14:39,340 Touch bar. 307 00:14:39,340 --> 00:14:40,220 Raak Baz. 308 00:14:40,220 --> 00:14:42,810 As ek LS, nou sien ons dat die lêers bestaan ​​nie. 309 00:14:42,810 --> 00:14:44,315 Hulle is heeltemal leeg. 310 00:14:44,315 --> 00:14:47,178 So touch is net 'n maklike wyse van een, [onhoorbaar]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 Twee tegnies net aan die staat dit, dit werk die tyd tempel. 313 00:14:54,640 --> 00:14:58,470 So 'n lêer wat jy skep het 'n tyd stempel wat verband hou met dit. 314 00:14:58,470 --> 00:15:01,330 So Baz is geskep op September 14 by 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 Dit is nou 16:22, so as Ek raak Baz weer ons 317 00:15:06,670 --> 00:15:11,420 sien dat Baz was die meeste onlangs gewysig by 16:22. 318 00:15:11,420 --> 00:15:17,680 Maar anders het ek byna nooit kyk na die tyd tempel op lêers. 319 00:15:17,680 --> 00:15:20,490 So raak, hier is ek net die gebruik van dit 'n paar vinnige lêers te skep. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> Alle reg, so nou RM die opdrag dat ons omgee hier. 322 00:15:27,400 --> 00:15:28,665 En ons kan RM boo. 323 00:15:28,665 --> 00:15:31,000 Sê verwyder gereelde leë lêer boo. 324 00:15:31,000 --> 00:15:34,070 En ons kan tik y, en nou is dit Verwyder. 325 00:15:34,070 --> 00:15:34,850 rm Baz. 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 Verwyder gereeld leë lêer Baz en tipe N vir. 328 00:15:38,620 --> 00:15:40,060 Nou is dit nie verwyder nie. 329 00:15:40,060 --> 00:15:41,240 So kroeg en Baz nog bestaan. 330 00:15:41,240 --> 00:15:42,232 Cat is weg. 331 00:15:42,232 --> 00:15:43,148 GABRIEL: Hou praat. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB BOWDEN: Groot. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 So het die irriterende boodskap hier verwyder gereelde empty-- 336 00:15:50,370 --> 00:15:52,390 wat doen jy daar? 337 00:15:52,390 --> 00:15:54,030 Verwyder gereeld leë lêer. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 So, as ons nie wil wees gepla deur die boodskap, 340 00:16:01,610 --> 00:16:05,340 ons kan gooi in hierdie f vlag, en so dit is van krag. 341 00:16:05,340 --> 00:16:11,330 En as ek nou RM-f, dit gaan nie sê wil jy hierdie lêer te verwyder. 342 00:16:11,330 --> 00:16:12,040 Dit sal net dit doen. 343 00:16:12,040 --> 00:16:13,720 En LS, ek sien nie bar daar nie meer nie. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> Nou is dit 'n potensieel gevaarlike opdrag. 346 00:16:18,021 --> 00:16:19,020 Dit is geneig om nie te sleg nie. 347 00:16:19,020 --> 00:16:22,240 Ons sal terug te kom in 'n tweede hoe dit kan kry regtig gevaarlik. 348 00:16:22,240 --> 00:16:28,740 En laat ons 'n paar tydelike gids. 349 00:16:28,740 --> 00:16:30,880 mkdir, 'n ander opdrag. 350 00:16:30,880 --> 00:16:34,880 So mkdir is 'n opdrag wat 'n gids. 351 00:16:34,880 --> 00:16:40,650 En nou deur LS sien ons hierdie mooi lig blou uitgelig tydelike gids. 352 00:16:40,650 --> 00:16:42,295 Ek kan CD in temperatuur. 353 00:16:42,295 --> 00:16:44,590 En ek kan mkdir cat. 354 00:16:44,590 --> 00:16:46,330 CD in cat. mkdir bar. 355 00:16:46,330 --> 00:16:46,860 CD in bar. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> So ons sien ons kan maklik in 'n paar mooi diep nes. 358 00:16:54,300 --> 00:16:56,385 Nou hoe verwyder ek 'n gids? 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 So as ek net reguit probeer RM, soos ons gedoen het met 'n gewone lêer, 363 00:17:03,540 --> 00:17:06,420 rm bar gaan sê kan nie bar verwyder. 364 00:17:06,420 --> 00:17:07,569 Dit is 'n gids. 365 00:17:07,569 --> 00:17:10,619 Daar is 'n spesiale opdrag vir verwydering van dopgehou, soort van. 366 00:17:10,619 --> 00:17:12,900 So rmdir bar. 367 00:17:12,900 --> 00:17:13,710 Nou bar is weg. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> OK, so rmdir Ek pretty much nooit gebruik nie. 370 00:17:22,680 --> 00:17:32,220 Die rede being-- nou laat maak 'n gewone lêer bar hier. 371 00:17:32,220 --> 00:17:34,780 So rmdir boo. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 Misluk cat te verwyder. 374 00:17:36,900 --> 00:17:38,420 Gids nie leeg. 375 00:17:38,420 --> 00:17:43,420 So kan jy nie gebruik nie verwyder rig op 'n gids wat dinge in dit. 376 00:17:43,420 --> 00:17:44,830 >> So jy het 'n paar opsies. 377 00:17:44,830 --> 00:17:49,780 Jy kan gaan in daardie gids, verwyder alles met die hand, en dan kom 378 00:17:49,780 --> 00:17:51,759 en rmdir die gids. 379 00:17:51,759 --> 00:17:53,050 Dit klink natuurlik irriterende. 380 00:17:53,050 --> 00:17:55,000 Wat as daar duisende lêers in daar? 381 00:17:55,000 --> 00:17:58,119 Wel, jy kan RM *. 382 00:17:58,119 --> 00:17:59,410 Ons sal praat oor * in 'n tweede. 383 00:17:59,410 --> 00:18:00,870 Dit beteken basies al die dinge. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 Maar nog beter, so k-r. 386 00:18:05,470 --> 00:18:10,220 So rm -r-- in 'n baie konteks, r beteken rekursiewe, 387 00:18:10,220 --> 00:18:13,810 wat ons sal praat oor wat rekursiewe middel in 'n paar weke. 388 00:18:13,810 --> 00:18:18,630 Maar dit beteken basies deurkruis die geheel van hierdie gids 389 00:18:18,630 --> 00:18:20,190 en verwyder alles. 390 00:18:20,190 --> 00:18:24,420 >> So rm-r cat gaan om te sê aftrek in die gids cat? 391 00:18:24,420 --> 00:18:25,210 Ja. 392 00:18:25,210 --> 00:18:26,800 Verwyder gereeld leë lêer cat / bar? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 Ja. 395 00:18:28,540 --> 00:18:29,760 Verwyder gids cat? 396 00:18:29,760 --> 00:18:30,260 Ja. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 So nou foo en alles binne dit verwyder is. 399 00:18:35,020 --> 00:18:42,370 >> Nou dat kan kry veral irriterende when-- laat raak 1, 2 raak, raak 3. 400 00:18:42,370 --> 00:18:44,400 Kan 'n hele klomp van lêers. 401 00:18:44,400 --> 00:18:49,060 As ek wou, kon ek skep duisende lêers in hier. 402 00:18:49,060 --> 00:18:53,340 En k-r cat gaan te wees redelik irriterende. 403 00:18:53,340 --> 00:18:55,374 Ja, ja, ja, ja, ja, ja. 404 00:18:55,374 --> 00:18:57,540 Met 'n baie meer lêers wat jy vinnig sien hoeveel keer 405 00:18:57,540 --> 00:18:58,581 Ek sal moet ja tik. 406 00:18:58,581 --> 00:19:02,265 Wel, ons het net gesien voor hoe ons kan ontslae te raak van die behoefte om te tik ja, f. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 So mkdir cat cd cat touch 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 OK, so rm-rf cat gaan blindelings verwyder cat geheel. 411 00:19:17,190 --> 00:19:17,960 Geen vinnige. 412 00:19:17,960 --> 00:19:18,650 Geen enigiets. 413 00:19:18,650 --> 00:19:20,040 Cat is weg. 414 00:19:20,040 --> 00:19:23,830 >> So ek is geneig om dit te gebruik beveel al die tyd. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 Dit gesê, is dit 'n baie gevaarlik opdrag, 417 00:19:27,830 --> 00:19:33,240 want as ek iets doen , sal dit nie gevra nie. 418 00:19:33,240 --> 00:19:34,730 Dit sal weg wees. 419 00:19:34,730 --> 00:19:40,140 En dit gebeur redelik gereeld, en selfs in 'n hoër vlak CS kursusse. 420 00:19:40,140 --> 00:19:42,070 Soms sal ons sien iets waar iemand 421 00:19:42,070 --> 00:19:48,360 sê ek per ongeluk ons ​​rm rf-ed my huis gids en al my P stel is weg. 422 00:19:48,360 --> 00:19:52,422 En dit is vernietigend, maar daar is geen asblik. 423 00:19:52,422 --> 00:19:54,380 Daar is geen daar is niks vir jou te haal. 424 00:19:54,380 --> 00:19:55,330 Dit is net weg. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 Nog erger sou wees iets soos rm-rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 Sodat ons net bespreek dat die wortel gids. 429 00:20:01,140 --> 00:20:03,095 Dit hou al van die lêers op jou stelsel. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 Dinge is geneig om redelik morsig te kry wanneer jy dinge verwyder soos LS, 432 00:20:07,380 --> 00:20:10,280 en cd, en almal van hulle. 433 00:20:10,280 --> 00:20:15,467 >> Publiek: Wat is die verskil tussen RM, rf, en k * 434 00:20:15,467 --> 00:20:16,300 ROB BOWDEN: So rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> ALLISON: Vraag is wat is die verskil tussen RM, rf, en k *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB BOWDEN: So rm *. 439 00:20:25,950 --> 00:20:31,910 Star in die algemeen beteken al die inhoud van hierdie gids. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 Probeer om te dink aan ander maniere wys ster. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 Wel, Star eintlik oor die algemeen beteken 'n patroon ooreenstem. 444 00:20:44,780 --> 00:20:54,930 So as ek 'n lêer genaamd dog1, raak dog2, raak cat1, raak cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 So LS * 1 gaan cat1 te druk en dog1, omdat ster gevul kan word 447 00:21:02,110 --> 00:21:06,270 in with-- die mens nodig het om daar te wees, maar sterre kan óf kat of hond. 448 00:21:06,270 --> 00:21:07,247 Dit is 'n wild card. 449 00:21:07,247 --> 00:21:08,580 Dit is die woord wat ek soek. 450 00:21:08,580 --> 00:21:09,120 Wild kaart. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 Of ek kon hond * LS, en Ek het dog1 te sien, dog2. 453 00:21:13,960 --> 00:21:16,870 So dit is die lys van die lêers wat ooreenstem met die spesifieke patroon. 454 00:21:16,870 --> 00:21:18,150 Jy kan LS gebruik in hierdie manier. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> LS * ster wedstryde nie. 457 00:21:22,020 --> 00:21:25,710 So dit gaan al te druk die inhoud van hierdie gids 458 00:21:25,710 --> 00:21:27,290 aangesien almal van hulle pas. 459 00:21:27,290 --> 00:21:30,130 Dit is nie van plan om iets te druk in die boonste vlak dopgehou. 460 00:21:30,130 --> 00:21:38,680 As ek 'n sub gids, cat, en raak 1 2 3-- so nou as rm * ster, 461 00:21:38,680 --> 00:21:41,450 verwyder cat1, cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 Kan nie cat verwyder. 463 00:21:42,340 --> 00:21:43,090 Dit is 'n gids. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> So ster brei na al die lêers in die gids. 466 00:21:50,340 --> 00:21:55,210 So tegnies rm * is soos om te sê rm cat1, cat2, dog1, dog2, cat. 467 00:21:55,210 --> 00:22:03,630 Terwyl rm-rf, tegnies ster sou doen wat ons wil, maar rm -rf-- 468 00:22:03,630 --> 00:22:06,090 as ek gaan uit hierdie gids, rm-rf tydelike, 469 00:22:06,090 --> 00:22:08,890 wat gaan om te gaan in tydelike en rekursief alles verwyder. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> So ster is apart in dat verstaan ​​deur- so hierdie ding 472 00:22:21,060 --> 00:22:25,090 dat Ek hardloop in, hierdie ding wat waarna my opdragte 473 00:22:25,090 --> 00:22:28,770 en dan die uitvoering en doen hulle, ek noem dit my dop. 474 00:22:28,770 --> 00:22:31,930 En so gaan dit dop is self 'n program. 475 00:22:31,930 --> 00:22:35,010 En as ek wou, ek kon loop in / bin / bash. 476 00:22:35,010 --> 00:22:36,930 Die dop is bash genoem. 477 00:22:36,930 --> 00:22:39,340 En nou sien ons iets het effens verander, 478 00:22:39,340 --> 00:22:42,200 en dit is omdat my instellings vir die dop is ietwat anders. 479 00:22:42,200 --> 00:22:45,415 >> Maar nou is ek tegnies hardloop 'n dop in my oorspronklike dop, 480 00:22:45,415 --> 00:22:49,570 en ek kan verlaat dat die dop, en nou Ek is terug na my top vlak dop. 481 00:22:49,570 --> 00:22:55,240 Die doel van sê dat is-- die sterre. 482 00:22:55,240 --> 00:22:59,020 So het die ster is iets verstaan ​​bash. 483 00:22:59,020 --> 00:23:04,260 So rm-rf, rf vlag is verstaan ​​word deur net k. 484 00:23:04,260 --> 00:23:06,380 Dit weet dat wanneer jy verby 'n rf dat jy 485 00:23:06,380 --> 00:23:09,520 dit wil rekursief verwyder alle lêers sonder om te vra. 486 00:23:09,520 --> 00:23:13,960 Die ster is iets verstaan deur bash dat wanneer jy sê rm *, 487 00:23:13,960 --> 00:23:16,890 bash is nie van plan om te sê hey rm *, verwyder ster. 488 00:23:16,890 --> 00:23:21,010 Bash gaan rm te sê * verwyder cat1, cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 Dit is outomaties gaan uit te brei al die lêers in die gids. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> En insgelyks tilde is 'n ander simbool wat bash verstaan. 492 00:23:33,140 --> 00:23:37,130 Wanneer jy sê cd ~, bash brei wat aan jou huis gids. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 Ander vrae so ver? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 OK so ons gaan begin gaan vinnig. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Blad voltooiing. 499 00:23:48,545 --> 00:23:49,670 Net om dit uit te gooi daar. 500 00:23:49,670 --> 00:23:51,530 Baie mense doen nie besef dit bestaan. 501 00:23:51,530 --> 00:23:55,060 So as ek tik cd Dow, het ek wil gaan in afgelaai. 502 00:23:55,060 --> 00:23:56,700 Ek het nie nodig nloads tik. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 Ek kan net getref blad. 505 00:24:00,770 --> 00:24:03,794 So dit erken dat Dow is 'n voorvoegsel wat 506 00:24:03,794 --> 00:24:05,710 nie ooreenstem met enigiets anders in hierdie gids, 507 00:24:05,710 --> 00:24:07,520 so dit sal voltooi wat vir jou. 508 00:24:07,520 --> 00:24:08,610 Nou kan ek gaan. 509 00:24:08,610 --> 00:24:10,110 >> Ek doen ook wat herhaaldelik. 510 00:24:10,110 --> 00:24:11,205 So mkdir cat. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Kom ons gaan in cat. 513 00:24:13,300 --> 00:24:14,830 mkdir bar. 514 00:24:14,830 --> 00:24:17,345 So gaan terug na my huis gids, kan ek sien afgelaai. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 Nou slaan blad weer outomaties gaan in cat te vul. 517 00:24:21,860 --> 00:24:22,880 Dit is die enigste gids. 518 00:24:22,880 --> 00:24:25,340 Slaan blad weer outomaties gaan in bar te vul. 519 00:24:25,340 --> 00:24:26,798 So nou is ek in (~ Downloads / cat / bar). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> So hierdie blad voltooiing, wanneer ek het om te kantoorure, 522 00:24:31,692 --> 00:24:33,400 en ek staan ​​oor iemand se skouer, 523 00:24:33,400 --> 00:24:40,470 en hulle gaan rm D-O-W-N-L-O-A-D-S, ek sterf. 524 00:24:40,470 --> 00:24:41,990 Net blad, blad, blad, blad. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 So beslis gebruik blad. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 En net so op en af, 'n baie van die mense 529 00:24:49,840 --> 00:24:51,930 net wat gebeur het te nooit getref het op en af. 530 00:24:51,930 --> 00:24:54,870 Dit gaan deur die vorige bevele, so as jy net gehardloop iets, 531 00:24:54,870 --> 00:24:58,300 en jy wil om dit weer te hardloop, net hou totdat jy dit. 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 >> So vinnig, n paar ander dinge. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 Kom ons gaan terug in temperatuur. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 Kom ons skep 'n paar lêers. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 So hier, ek is net gaan 'n paar woorde te lys. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 hond, kat, miaau. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 Kom ons doen hond, vis. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 So nou rep is 'n baie nuttige opdragte wat jy 548 00:25:32,320 --> 00:25:37,820 gebruik om die hele soek lêers vir 'n bepaalde teks, 549 00:25:37,820 --> 00:25:40,910 en tegnies kan jy regtig komplekse uitdrukkings vir dit aan te pas. 550 00:25:40,910 --> 00:25:44,830 >> So hier, as ek grep, en wat wil ek soek? 551 00:25:44,830 --> 00:25:49,130 Kom ons sê ek soek vir katte, en Ek wil al hierdie lêers te soek. 552 00:25:49,130 --> 00:25:50,650 So, hoe doen ek al hierdie lêers? 553 00:25:50,650 --> 00:25:51,900 Star. 554 00:25:51,900 --> 00:25:54,939 So in die lêer een, ek het die kat. 555 00:25:54,939 --> 00:25:56,980 Ek kon seker 'n noem dit iets beter, 556 00:25:56,980 --> 00:25:59,063 want dit lyk soos lyn nommers of iets. 557 00:25:59,063 --> 00:26:01,590 Maar in die lêer een wat ek het 'n lyn met die kat. 558 00:26:01,590 --> 00:26:04,160 In lêer twee Ek het 'n lyn met die kat. 559 00:26:04,160 --> 00:26:07,280 So nou kan ek kyk binne lêer een en sien O ja, die lêer gedoen het kat. 560 00:26:07,280 --> 00:26:10,210 Kennis lêer drie is nie gekoppel want die kat is nie daar. 561 00:26:10,210 --> 00:26:13,882 Ek kan grep vir miaau. 562 00:26:13,882 --> 00:26:14,840 Dien slegs twee het miaau. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> So dit wat jy kan kombineer, weer, met r, wat 565 00:26:20,640 --> 00:26:23,580 soos ek gesê het dikwels beteken rekursiewe. 566 00:26:23,580 --> 00:26:29,800 En so kan ek hier kom, grep r vir enige instansie of-- laat wysig 567 00:26:29,800 --> 00:26:32,010 hierdie een net 'n kat te gooi in daar. 568 00:26:32,010 --> 00:26:38,800 So grep r vir enige instansie van kat in hierdie gids. 569 00:26:38,800 --> 00:26:41,600 En dit sal rekursief soek enige subdirectories. 570 00:26:41,600 --> 00:26:43,940 So in Baz, daar is die kat. 571 00:26:43,940 --> 00:26:45,570 In temp / 2, daar is die kat. 572 00:26:45,570 --> 00:26:47,960 En in temp / 1 daar is kat. 573 00:26:47,960 --> 00:26:50,045 So dit is op soek in lêers. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> Nou kan jy ook gebruik maak van 'n vonds. 576 00:26:55,090 --> 00:26:59,640 En so vind spesifiek oor soek vir lêers met 'n gegewe naam. 577 00:26:59,640 --> 00:27:02,490 So kom ons maak 'n paar meer. 578 00:27:02,490 --> 00:27:03,660 Kom ons gaan in afgelaai. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 Raak dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 Raak cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 Raak cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 Raak catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> So ek wil almal om te vind lêers met die hond in die naam. 589 00:27:23,810 --> 00:27:28,060 So vind, en vir die langste tyd wat ek nooit gedink 590 00:27:28,060 --> 00:27:33,760 Hoe kry gewerk het, totdat ek uiteindelik lees iets wat dit so duidelik gemaak. 591 00:27:33,760 --> 00:27:35,784 So vind, outomaties rekursiewe. 592 00:27:35,784 --> 00:27:36,950 Jy hoef nie 'n r te slaag. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 So vind dot. 595 00:27:39,110 --> 00:27:40,750 Ons het nie gepraat oor dot nog. 596 00:27:40,750 --> 00:27:44,800 Terwyl dot dot altyd beteken een gids tot. 597 00:27:44,800 --> 00:27:46,960 Dot beteken altyd die huidige gids. 598 00:27:46,960 --> 00:27:51,390 So ek kon r dot in die RM dieselfde manier wat ek kan RM rf *. 599 00:27:51,390 --> 00:27:53,140 Uiteindelik het hulle bereik dieselfde ding. 600 00:27:53,140 --> 00:27:56,040 rm-rf dot gaan verwyder die hele huidige gids. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> OK, wat ek wil nie om daar te doen. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 Maar vind dot. 605 00:28:04,320 --> 00:28:07,920 So rekursief soek die huidige gids, en nou is alles 606 00:28:07,920 --> 00:28:14,125 Hierna is 'n klomp van die vlae wat jy gebruik om dinge uit die opbrengs te sluit. 607 00:28:14,125 --> 00:28:17,250 So vind dot terug alles wat dit kan vind uit die huidige gids. 608 00:28:17,250 --> 00:28:19,700 Dit is al die lêers rekursief soek. 609 00:28:19,700 --> 00:28:21,250 Ons sal sien 'n paar van diegene wat in 'n tweede. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> Maar in die geval jy wonder hoe ek dit doen dat so Command K, op die heel minste 612 00:28:27,140 --> 00:28:29,660 in my terminale in die Mac goedkeuring nie. 613 00:28:29,660 --> 00:28:34,660 Beheer L algemeen goedkeuring dit vir enige soort terminale. 614 00:28:34,660 --> 00:28:36,480 Jy kan ook tik duidelik. 615 00:28:36,480 --> 00:28:38,410 En as jy ooit in 'n vreemde scenario-- 616 00:28:38,410 --> 00:28:42,790 dit met my gebeur het 'n paar time-- waar die kleure van jou aanwysings 617 00:28:42,790 --> 00:28:46,590 is almal deurmekaar, of jy nie in staat is om enigiets te sien 618 00:28:46,590 --> 00:28:51,232 getik word wanneer jy tik, want soms soos agtergrond is ingestel 619 00:28:51,232 --> 00:28:53,940 dieselfde as die voorgrond kleur en nou kan jy nie sien die skrif. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 Herstel is iets wat net bring jy jy na die standaard swart agtergrond, 622 00:28:59,830 --> 00:29:01,840 wit voor, of wat ook al jy het hulle te. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> So waar was ons? 625 00:29:04,790 --> 00:29:05,930 Vind dot. 626 00:29:05,930 --> 00:29:09,360 So nou is alles verby hierdie punt beperk die resultate 627 00:29:09,360 --> 00:29:11,450 na iets wat pas die gegewe patroon. 628 00:29:11,450 --> 00:29:16,110 So hier is ek wil soek alles met die naam kat. 629 00:29:16,110 --> 00:29:17,300 Ek het niks. 630 00:29:17,300 --> 00:29:18,390 Hoekom is dit die geval? 631 00:29:18,390 --> 00:29:21,230 Wel, ek is net op soek na iets met presies die naam kat. 632 00:29:21,230 --> 00:29:25,150 As ek iets wil soek wat 'n patroon, en cat-- 633 00:29:25,150 --> 00:29:28,890 die aanhalings tegnies is nie nodig nie, maar ek gooi dit daar. 634 00:29:28,890 --> 00:29:32,720 So nou is dit bevind catcat omdat dit is die enigste ding wat 635 00:29:32,720 --> 00:29:36,040 het 'n paar arbitrêre patroon gevolg deur kat. 636 00:29:36,040 --> 00:29:41,950 Ek kan die kat * sit, en nou vind catcat, cat_dog, cat2, 637 00:29:41,950 --> 00:29:45,245 want dit is al die dinge wat met die kat aan die begin gevolg deur enigiets. 638 00:29:45,245 --> 00:29:46,120 Jy kan kombineer. 639 00:29:46,120 --> 00:29:50,480 As jy wil om te soek vir al C lêers wat jy het, kan jy dit doen * .c. 640 00:29:50,480 --> 00:29:51,960 Ons het hier blah.c. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 So dit is 'n vonds werke. 643 00:29:55,020 --> 00:29:55,770 Jy kan soek. 644 00:29:55,770 --> 00:29:58,270 Dit het 'n hele klomp van die vlae vir verdere beperkings. 645 00:29:58,270 --> 00:30:00,960 En een op hulle, kom ons sê d. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 So afgekeur. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 O ja, dit is nie wat ek wil hê. 650 00:30:06,550 --> 00:30:07,730 Nie-d. 651 00:30:07,730 --> 00:30:08,860 Tipe d. 652 00:30:08,860 --> 00:30:13,820 So vind dot - tipe d. 653 00:30:13,820 --> 00:30:17,760 So wat dit net gedoen het, is ek soek vir al die lêers in die huidige gids 654 00:30:17,760 --> 00:30:21,680 met a-- d staan ​​vir directory-- gids tipe. 655 00:30:21,680 --> 00:30:24,430 Dit gee alle dopgehou in die huidige gids. 656 00:30:24,430 --> 00:30:27,670 En die tipe F is al gereeld lêers, alle nie dopgehou. 657 00:30:27,670 --> 00:30:29,809 So dit is net 'n voorbeeld van ander maniere waarop jy 658 00:30:29,809 --> 00:30:32,350 kan die search ander beperk as net die naam van die lêer. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> Dit was 30 minute. 661 00:30:35,570 --> 00:30:36,848 Nog aan die gang. 662 00:30:36,848 --> 00:30:38,132 >> ALLISON: Ek sal briesie deur. 663 00:30:38,132 --> 00:30:39,670 Dit sal goed wees. 664 00:30:39,670 --> 00:30:41,460 >> ROB BOWDEN: So 'n paar ander dinge. 665 00:30:41,460 --> 00:30:45,700 Nou bang, uitroepteken. 666 00:30:45,700 --> 00:30:50,530 Sodat die algemeen means-- Wel, laat ons sien 'n voorbeeld. 667 00:30:50,530 --> 00:30:52,230 So! F, wat is dit gaan doen? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 Wel, dit blyk te hê herhaal vonds dot type f. 670 00:30:57,810 --> 00:30:59,240 Wat oor! G? 671 00:30:59,240 --> 00:31:00,760 Dit is net grep r kat *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 So bang jy kan gebruik om te herhaal 'n onlangs gedoen opdrag. 674 00:31:05,720 --> 00:31:13,280 So as ek tik! Gre, gaan dit weer uit te voer die bevele wat begin met gre mees 675 00:31:13,280 --> 00:31:14,060 onlangs. 676 00:31:14,060 --> 00:31:17,090 >> En jy kan al hierdie te sien instruksies met die geskiedenis. 677 00:31:17,090 --> 00:31:17,880 So geskiedenis. 678 00:31:17,880 --> 00:31:19,630 Dit is al die instruksies Ek het vandag hardloop. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 En goed, dit is nie letterlik beperk tot vandag, 681 00:31:23,130 --> 00:31:25,180 maar ek het net gebruik om hierdie toestel as van vandag. 682 00:31:25,180 --> 00:31:28,730 Dit is jou geheel van die geskiedenis van jou bash dop, 683 00:31:28,730 --> 00:31:30,433 behalwe dit sny op 'n sekere punt. 684 00:31:30,433 --> 00:31:33,474 Publiek: Wat gebeur as jy doen geskiedenis [onhoorbaar] bevel en 'n fout 685 00:31:33,474 --> 00:31:35,430 in die resultaat sal steeds druk the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB BOWDEN: Ja, indien daar 'n fout in een van hierdie commands-- 687 00:31:44,110 --> 00:31:48,090 so kom ons sê, dit is 'n fout bevel nie gevind nie. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 Verskyn steeds in die geskiedenis. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 Alle regte. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 Ander vrae oor enigiets? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 So dit is bang. 696 00:32:00,300 --> 00:32:04,230 >> Nou, baie handig opdrag, man. 697 00:32:04,230 --> 00:32:07,750 So wat gee jou die handleiding vir 'n gegewe opdrag. 698 00:32:07,750 --> 00:32:11,640 So kom ons sê man LS, so dit wys vir my LS. 699 00:32:11,640 --> 00:32:13,400 Dit lys gids inhoud. 700 00:32:13,400 --> 00:32:17,150 En dit is waar ek sien dat daar is hierdie verskillende vlae wat bestaan. 701 00:32:17,150 --> 00:32:21,340 So sien ons dat ls-l bestaan as ons dit te lees. ls-l 702 00:32:21,340 --> 00:32:26,150 gee my volledige lys van die gids met wat die lêer besit, 703 00:32:26,150 --> 00:32:29,750 die grootte van die lêer, die die gewysigde tyd stempel. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 So LS-'n is 'n ander een wat jy dalk eintlik gebruik ietwat gereeld. 706 00:32:34,980 --> 00:32:38,130 -al is my mees algemene vlag die afgelope LS. 707 00:32:38,130 --> 00:32:42,520 >> So a, sien daar is 'n baie meer lêers as net LS. 708 00:32:42,520 --> 00:32:44,170 LS-'n. 709 00:32:44,170 --> 00:32:46,170 Wat is in gemeen met al hierdie lêers? 710 00:32:46,170 --> 00:32:47,790 Hulle begin met 'n dot. 711 00:32:47,790 --> 00:32:54,710 So, dit is 'n konvensie in Linux dat lêers wat begin met 'n dot is versteek. 712 00:32:54,710 --> 00:32:58,330 So dit beteken net dat wanneer ons net reguit LS, 713 00:32:58,330 --> 00:33:04,170 of ons soek hierdie gids gebruik te maak die Well ekwivalent, of die Windows 714 00:33:04,170 --> 00:33:07,250 Explorer ekwivalent, dat ons wil nie hierdie dot lêers te sien. 715 00:33:07,250 --> 00:33:09,680 Hulle besoedel net die siening van dinge. 716 00:33:09,680 --> 00:33:11,790 Sodat hulle weggesteek tensy jy spesifiek 717 00:33:11,790 --> 00:33:14,250 versoek om hulle met iets soos'n. 718 00:33:14,250 --> 00:33:18,920 So kan ek cd in local, en ek sien dat dit op sigself 'n gids met 719 00:33:18,920 --> 00:33:22,220 'n gedeelde gids, en programme, en blah blah blah. 720 00:33:22,220 --> 00:33:24,520 So dot, lêers hulle is net weggesteek. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> OK, so ander belangrike mense. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 Ek het 'n paar wat ek kan slaan. 725 00:33:32,000 --> 00:33:38,160 Laat ons net ware vinnig praat oor die lêer herleiding dinge. 726 00:33:38,160 --> 00:33:43,020 So is daar 'n hele komplekse reeks van die dinge wat jy kan doen met hierdie, 727 00:33:43,020 --> 00:33:47,204 maar net om hulle te sien, kom ons sê, eggo. 728 00:33:47,204 --> 00:33:47,870 Nog 'n opdrag. 729 00:33:47,870 --> 00:33:48,920 Regtig stom opdrag. 730 00:33:48,920 --> 00:33:50,710 Al wat dit doen is om druk wat ek vertel dit aan. 731 00:33:50,710 --> 00:33:52,070 So eggo hallo. 732 00:33:52,070 --> 00:33:53,850 Dit is net eggo hallo vir die skerm. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Hello world. 735 00:33:56,390 --> 00:33:57,890 Eggo hello world. 736 00:33:57,890 --> 00:34:02,650 >> So 'n opdrag of 'n simbool wat bash verstaan 737 00:34:02,650 --> 00:34:07,620 is dit groter as simbool, en dit is die uitset na 'n lêer simbool. 738 00:34:07,620 --> 00:34:10,940 So as ek uitset dit te cat, daar is nou 'n lêer 739 00:34:10,940 --> 00:34:15,100 genoem cat, binne wat hello world. 740 00:34:15,100 --> 00:34:18,489 So sien dat wanneer ek eggo hello world pyp in cat, 741 00:34:18,489 --> 00:34:19,980 dit het nie hello world eggo. 742 00:34:19,980 --> 00:34:22,630 Dit plaas in die lêer cat sit. 743 00:34:22,630 --> 00:34:25,340 En 'n ander opdrag net om dit te gooi op jou kat. 744 00:34:25,340 --> 00:34:29,191 Dit is 'n maklike manier om net heeltemal n lys van die inhoud van die lêer 745 00:34:29,191 --> 00:34:31,440 sodat ek nie hoef te open 'n teks editor dit te kan sien. 746 00:34:31,440 --> 00:34:34,159 So het die inhoud van die cat lêer is hello world. 747 00:34:34,159 --> 00:34:38,460 En ek kon kat blah.c, die inhoud van hierdie. 748 00:34:38,460 --> 00:34:42,123 >> Weereens, hierdie is opdragte wat, dit nie doen nie verwag dat jy hulle almal gememoriseer. 749 00:34:42,123 --> 00:34:43,860 Die idee is jy hulle gesien het. 750 00:34:43,860 --> 00:34:45,735 Miskien is jy besig om op iets, en jy 751 00:34:45,735 --> 00:34:47,230 soos ek is siek en sat van die opening van hierdie lêer. 752 00:34:47,230 --> 00:34:50,120 Ek wens ek kon net kyk by die inhoud ware vinnig. 753 00:34:50,120 --> 00:34:52,320 Jy kan dit doen, dan terugkyk en sê oh Ek 754 00:34:52,320 --> 00:34:55,250 onthou iets soos wat bestaan, en dit is die kat. 755 00:34:55,250 --> 00:35:00,630 >> So wat gaan na 'n lêer. 756 00:35:00,630 --> 00:35:06,639 Nou is daar nie regtig 'n goeie voorbeeld van die lees van 'n lêer nie. 757 00:35:06,639 --> 00:35:08,930 Wat is iets wat neem iets van standaard in? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 Enige eenvoudige Linux opdrag? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 Wanneer ons kry om dit in 'n paar weke al die piece-- goed, 762 00:35:16,970 --> 00:35:20,470 hierdie week het jy 'n stuk waar jy begin om insette van die gebruiker. 763 00:35:20,470 --> 00:35:23,696 En so gewoonlik jy tik wat insette by die klawerbord. 764 00:35:23,696 --> 00:35:25,570 In plaas van tik dat insette op die klawerbord, 765 00:35:25,570 --> 00:35:30,950 jy kan plaas pyp van 'n lêer sodat wanneer jy Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 pyp van enige gegewe lêer en wat gaan die Mario program uit te voer. 767 00:35:35,200 --> 00:35:37,300 Nie verwag insette by die klawerbord, plaas dit 768 00:35:37,300 --> 00:35:39,650 net gaan die te lees lyne van die cat lêer. 769 00:35:39,650 --> 00:35:45,230 >> So groter as cat sit dit in die cat lêer, en minder as cat 770 00:35:45,230 --> 00:35:50,170 neem dinge van die cat lêer en gebruike wat as insette tot hierdie program. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 En net om dit te sien, kan ons ook eggo cat bar Baz, en dan in plaas van een 773 00:36:00,630 --> 00:36:03,850 groter as, kom ons doen twee in cat. 774 00:36:03,850 --> 00:36:05,610 Wat beteken dat jy doen? 775 00:36:05,610 --> 00:36:07,180 Dit voeg daar net na die lêer. 776 00:36:07,180 --> 00:36:15,360 So in plaas agterkom as ek eggo blah in cat en dan kat cat, dit is net blah. 777 00:36:15,360 --> 00:36:18,285 So wanneer jy uitset na 'n lêer is, is dit heeltemal oor skryf die lêer. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 As jy wil net om by te voeg, dubbel [? padskraper. ?] 780 00:36:22,740 --> 00:36:24,080 >> En die laaste is pyp. 781 00:36:24,080 --> 00:36:29,590 Pyp kry baie meer ingewikkeld, waar dit neem om die uitset van een opdrag 782 00:36:29,590 --> 00:36:32,320 en voer dit in die volgende opdrag. 783 00:36:32,320 --> 00:36:36,140 So 'n paar algemene ding, geskiedenis. 784 00:36:36,140 --> 00:36:37,920 So, ugh, ek wil nie om te kyk na hierdie. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 Wys my alles opdragte in my geskiedenis waar ek grep-ed vir iets. 787 00:36:44,485 --> 00:36:45,360 Nee, dit is verwarrend. 788 00:36:45,360 --> 00:36:50,360 Wys my alles opdragte waar ek vind. 789 00:36:50,360 --> 00:36:52,360 Alle vind gebooie wat ek ooit gehardloop. 790 00:36:52,360 --> 00:36:55,050 >> So geskiedenis. 791 00:36:55,050 --> 00:36:59,017 Nou geskiedenis uitgange aan die sif hierdie lys van bevele, 792 00:36:59,017 --> 00:37:00,850 maar ek wil nie uitset dit na die skerm. 793 00:37:00,850 --> 00:37:03,445 In plaas daarvan gaan ek pyp dit in grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 So laat grep vir alle gevalle van vonds. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 So nou in plaas van die grep neem die insette, in plaas of-- 798 00:37:17,000 --> 00:37:24,360 grep is in staat om as input-- ons hanteer gebruik van grep effens anders hier. 799 00:37:24,360 --> 00:37:29,550 So in plaas van tik die lys van dinge wat ons wil om te soek na 800 00:37:29,550 --> 00:37:31,070 en gesê grep neem as invoer. 801 00:37:31,070 --> 00:37:34,810 So as ek nie net grep vind, is dit wag vir my om dinge te tik. 802 00:37:34,810 --> 00:37:37,661 So kat hallo vind. 803 00:37:37,661 --> 00:37:38,160 Hello. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 Vind nie. 806 00:37:40,930 --> 00:37:43,670 Let elke keer as ek tik vind dit erken dat ek getik vind. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 So in plaas van hierdie, sal soek lêers vir vonds. 809 00:37:49,540 --> 00:37:53,930 >> So geskiedenis gaan nou uitset van 'n lys van al die gebooie. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 Ons plaas dit uitvoer, en ons voed dit grep, 812 00:37:58,100 --> 00:38:00,180 en so is dit spoeg alle gevalle van vonds. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 Die rede waarom ek sê dit sou verwarrend wees is as I-- dit is nog steeds verwarrend. 815 00:38:05,570 --> 00:38:07,030 As ek grep vir grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 Let daarop dat dit is pretty much altyd wat die opdrag het ek net 818 00:38:11,130 --> 00:38:15,280 gehardloop omdat opdrag self het grep binnekant van dit. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> OK, so enige vrae oor enigiets? 821 00:38:20,674 --> 00:38:22,340 En ek sal dit oordra oor op hierdie punt. 822 00:38:22,340 --> 00:38:24,690 Hopelik is dit 'n lekker oorsig van alle opdragte 823 00:38:24,690 --> 00:38:30,100 dat jy nie nodig het om te hê gememoriseer, maar hierdie maak 824 00:38:30,100 --> 00:38:32,950 'n stewige 95% van wat ek doen op die opdrag lyn. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 Hou ook in gedagte dat die opdrag lyn self, bash is 'n programmeertaal, 827 00:38:39,140 --> 00:38:43,070 en so wanneer jy dit af, jy dalk wil regtig komplekse dinge te doen. 828 00:38:43,070 --> 00:38:47,522 En so het dit dinge soos loops, en as, en al daardie 829 00:38:47,522 --> 00:38:50,230 dat jy gaan om gewoond te raak aan met jou programmeertale. 830 00:38:50,230 --> 00:38:53,660 Maar dit is buite die omvang van hierdie artikel. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 OK, so geen vrae? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 ALLISON: Geen? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: Is jy gaan aan- 836 00:38:59,450 --> 00:39:01,158 ALLISON: Ek kan dit doen op my as jy wil. 837 00:39:01,158 --> 00:39:02,626 Ons kan sien wat gebeur. 838 00:39:02,626 --> 00:39:03,750 ROB BOWDEN: Off te Allison. 839 00:39:03,750 --> 00:39:05,090 ALLISON: Woo. 840 00:39:05,090 --> 00:39:07,504 Jy is 'n harde besluit om te volg, Rob. 841 00:39:07,504 --> 00:39:08,920 Wil jy my te skakel met jou? 842 00:39:08,920 --> 00:39:10,246 Of jy het, OK. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 Ek gaan om te probeer en nie heel wees as lang daar. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 Kom ons kyk of dit sal werk om die manier wat ek wil om dit te. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 Miskien? 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 Ja. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> So ek gaan net baie vinnig gaan deur veranderlikes, loops, conditionals, 854 00:39:34,066 --> 00:39:35,440 en 'n bietjie op die samesteller. 855 00:39:35,440 --> 00:39:38,570 As jy vrae het by enige tyd, stop asseblief my. 856 00:39:38,570 --> 00:39:42,750 Hierdie ouens sal my herinner te herhaal jou vraag in geval ek vergeet, 857 00:39:42,750 --> 00:39:44,210 maar moet nie te sleg nie. 858 00:39:44,210 --> 00:39:45,850 >> So veranderlikes, ja. 859 00:39:45,850 --> 00:39:48,060 Ons het geen een van jou Kras stukke hier. 860 00:39:48,060 --> 00:39:50,440 Ek is seker die meeste van julle, as jy het 'n soort van wild 861 00:39:50,440 --> 00:39:53,810 wat jy geskep het met nuuts af, jy het tred te hou van iets soos telling, 862 00:39:53,810 --> 00:39:55,870 of tyd, of iets soos dit. 863 00:39:55,870 --> 00:39:58,080 So diegene helder oranje stukke wat ons sien daar 864 00:39:58,080 --> 00:40:02,630 is net die Scratch vorm van veranderlikes, en jy sal beslis 865 00:40:02,630 --> 00:40:04,640 wees die gebruik van veranderlikes in jou programme. 866 00:40:04,640 --> 00:40:07,350 As jy nie, ek is nie regtig seker wat jy doen. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> Maar in elk geval, 'n groot ding, definieer veranderlikes. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 Met C elke veranderlike om 'n tipe verklaar, 871 00:40:16,970 --> 00:40:22,090 so ek het vir jou 'n baie algemene een aan die bokant. 872 00:40:22,090 --> 00:40:24,045 So jy sal jou tik en dan ook al 873 00:40:24,045 --> 00:40:25,420 jy besluit om jou veranderlike te bel. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 So in hierdie geval, tipe in jou veranderlike lys. 876 00:40:29,680 --> 00:40:31,400 >> Ons het drie voorbeelde. 877 00:40:31,400 --> 00:40:34,439 Char van sommige graad, 'n A, en dit is wat 878 00:40:34,439 --> 00:40:36,230 Ek is seker dat jy almal wil te kry in hierdie klas. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 Jy kan verskeie definieer veranderlikes op een lyn 881 00:40:40,670 --> 00:40:43,880 so lank as wat hulle is almal dieselfde soort, wat is ons tweede voorbeeld is daar 882 00:40:43,880 --> 00:40:46,409 waar jy drie veranderlikes, x, y, en z. 883 00:40:46,409 --> 00:40:47,200 Hulle is almal dryf. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 En dan kan jy ook in hierdie laaste byvoorbeeld met int telling en nommer 886 00:40:53,250 --> 00:40:56,510 spanne, kan jy inisialiseer hulle reg daar. 887 00:40:56,510 --> 00:41:01,270 >> So in die middel voorbeeld waar ons net float van x, y, en z, 888 00:41:01,270 --> 00:41:02,730 dit is nie geïnisialiseer nie. 889 00:41:02,730 --> 00:41:04,140 Hulle het geen waarde nie. 890 00:41:04,140 --> 00:41:05,600 Of hulle vullis waardes. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 En as jy probeer en hulle gebruik, samesteller sal gil op jou. 893 00:41:10,790 --> 00:41:14,727 Jy moet beide verklaar en inisialiseer jou veranderlikes. 894 00:41:14,727 --> 00:41:16,310 So in hierdie laaste een, ons doen albei. 895 00:41:16,310 --> 00:41:19,320 Ons verklaar veranderlikes van die telling en die aantal spanne, 896 00:41:19,320 --> 00:41:24,134 en ons is initializing hulle gee hulle hul aanvanklike waardes van 7 en 4 897 00:41:24,134 --> 00:41:24,675 onderskeidelik. 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 Almal goeie? 901 00:41:28,550 --> 00:41:29,470 Awesome. 902 00:41:29,470 --> 00:41:31,690 >> OK, so 'n paar konvensies. 903 00:41:31,690 --> 00:41:35,965 As jy ouens gelees deur styl 50, is hierdie 904 00:41:35,965 --> 00:41:39,510 is net dinge wat ons wil vir om jou te implementeer in jou styl. 905 00:41:39,510 --> 00:41:41,230 So betekenisvolle name. 906 00:41:41,230 --> 00:41:45,700 As jy begin roep dinge net x, y, en z, veral 907 00:41:45,700 --> 00:41:47,902 as jy in die lang programme, is jy 908 00:41:47,902 --> 00:41:49,610 waarskynlik gaan om te verwar jouself en wees 909 00:41:49,610 --> 00:41:52,930 soos wat hierdie veranderlike verwys. 910 00:41:52,930 --> 00:41:55,880 Ek het geen idee wat dit beteken nie. 911 00:41:55,880 --> 00:41:59,280 >> So as dit bedoel is om vas te hou 'n telling, noem dit die telling. 912 00:41:59,280 --> 00:42:05,720 As dit bedoel is sommige antwoord te hou of lei, gee dit 'n naam soos dit. 913 00:42:05,720 --> 00:42:09,920 Vir sirkelroetes, wat ons sal kry in die volgende skuif, 914 00:42:09,920 --> 00:42:12,985 enkele brief veranderlikes is fyn. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB BOWDEN: I, J en K net konvensies vir vir sirkelroetes 917 00:42:18,449 --> 00:42:22,050 dat almal van hulle verwag om i genoem te word, j en k. 918 00:42:22,050 --> 00:42:26,890 Jy kan bel them-- Ek sien ry kolom of ry oproep soms 919 00:42:26,890 --> 00:42:29,450 twee sub-loops, en dit is ook soort van standaard. 920 00:42:29,450 --> 00:42:31,450 Maar ek en j is heeltemal verstaan ​​nie. 921 00:42:31,450 --> 00:42:33,670 >> ALLISON: Ja, ek en j jy heeltemal fyn. 922 00:42:33,670 --> 00:42:36,250 Ter wille van duidelikheid soos in sommige van jou P stelle, 923 00:42:36,250 --> 00:42:39,745 dit dalk sin maak om meer te hê beskrywende dinge daar net 924 00:42:39,745 --> 00:42:40,920 spoor te hou van dit. 925 00:42:40,920 --> 00:42:45,100 Maar ek dink ek, j en k ek dink die oorgrote meerderheid van ons almal gebruik. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB BOWDEN: Met hierdie konvensies, so styl is belangrik. 928 00:42:50,340 --> 00:42:53,520 Dit is een van die vier asse waarop jy gegradeer, 929 00:42:53,520 --> 00:42:58,110 en dit is so maklik om net te gaan oor jou P stel aan die einde en maak seker 930 00:42:58,110 --> 00:42:59,770 dat daar nie stilistiese foute. 931 00:42:59,770 --> 00:43:01,742 So maak seker dat jy korrek tabbing. 932 00:43:01,742 --> 00:43:03,200 Maak seker dat jou veranderlikes genoem. 933 00:43:03,200 --> 00:43:04,450 Laat 'n paar opmerkings. 934 00:43:04,450 --> 00:43:06,677 Dit is baie maklik die punte te kry. 935 00:43:06,677 --> 00:43:09,510 Jy hoef nie na te dink oor enigiets om die punte te kry. 936 00:43:09,510 --> 00:43:11,093 Jy hoef nie iets om uit te vind. 937 00:43:11,093 --> 00:43:12,640 Dit is net wat dit lyk mooi. 938 00:43:12,640 --> 00:43:14,850 >> ALLISON: Trouens, ons Style 50, wat 939 00:43:14,850 --> 00:43:17,920 sal jou vertel waar jy geknoei up as jy geknoei op styl 940 00:43:17,920 --> 00:43:21,180 en sal jou vertel presies wat jy nodig om vas te stel en hoe jy dit op te los. 941 00:43:21,180 --> 00:43:23,900 Dit is ook net goed om op te noem dat dit natuurlik beleid 942 00:43:23,900 --> 00:43:27,200 dat as jy by die kantoor ure en jou kode is 'n gemors, 943 00:43:27,200 --> 00:43:30,200 ons kan daal om te help jy totdat dit lyk mooier. 944 00:43:30,200 --> 00:43:34,310 So begin reg, hou konsekwent styl, 945 00:43:34,310 --> 00:43:37,100 jy is ook net gaan om te maak jou lewe 'n hele klomp makliker as 946 00:43:37,100 --> 00:43:38,730 jy probeer om te gaan deur debug. 947 00:43:38,730 --> 00:43:41,510 As jy probeer om uit te vind waar jy mis 'n krullerige stut 948 00:43:41,510 --> 00:43:44,890 en hulle is almal oor die plek, is jy net om jou eie lewe moeiliker. 949 00:43:44,890 --> 00:43:47,217 So wees in ooreenstemming met styl. 950 00:43:47,217 --> 00:43:48,800 Ek belowe dit sal jou lewe makliker te maak. 951 00:43:48,800 --> 00:43:50,330 Dit sal ons lewens makliker te maak. 952 00:43:50,330 --> 00:43:51,869 Almal sal baie gelukkiger wees. 953 00:43:51,869 --> 00:43:52,910 En dit is wat jy wil. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL: Jou graad sal hoër wees. 956 00:43:55,650 --> 00:43:56,858 ALLISON: Ja, en jou graad. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 As jou TF is soos jy, geneig om gunstige wees. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 Alle reg, en dan net die tweede punt hier. 961 00:44:05,010 --> 00:44:06,300 Konsekwent initializations. 962 00:44:06,300 --> 00:44:09,605 So as ons sien, kan jy verklaar en inisialiseer dinge. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 Veelvuldige veranderlikes op dieselfde lyn. 965 00:44:13,180 --> 00:44:17,930 Een ding wat ons wil u nie te doen, is om 'n paar veranderlikes te verklaar 966 00:44:17,930 --> 00:44:21,360 en nie inisialiseer hulle op dieselfde lyn wat jy initializing ander. 967 00:44:21,360 --> 00:44:23,960 >> So in die geval wat gemaak geen sin hoegenaamd 968 00:44:23,960 --> 00:44:29,050 Ons het die voorbeeld hier waar ons verklaar SY 969 00:44:29,050 --> 00:44:31,180 in veranderlikes kwartale dimes en sente, 970 00:44:31,180 --> 00:44:34,214 maar kwartale en sente geen aanvanklike waarde. 971 00:44:34,214 --> 00:44:36,630 Ons het nie geïnisialiseer nie, maar reg in die middel is daar 972 00:44:36,630 --> 00:44:38,600 ons reeds geïnisialiseer dimes tot 0. 973 00:44:38,600 --> 00:44:41,650 So óf doen kwartiere, dimes, pennies. 974 00:44:41,650 --> 00:44:43,170 Of doen kwartale gelyk 0. 975 00:44:43,170 --> 00:44:43,930 Dimes gelyk 0. 976 00:44:43,930 --> 00:44:46,810 Pennies gelyk 0, of wat ook al diegene aanvanklike waardes is. 977 00:44:46,810 --> 00:44:49,800 >> Groot ding met styl, konsekwent wees. 978 00:44:49,800 --> 00:44:51,050 Wanneer jy twyfel, wees konsekwent. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 Maar volg ons styl gids ook. 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 Almal goeie daar? 984 00:44:56,150 --> 00:44:57,566 >> Publiek: Waar is die styl gids? 985 00:44:57,566 --> 00:45:00,800 ALLISON: Die styl gids is on-- wat is die webwerf? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: Ek dink dit is 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: Styl. 990 00:45:06,390 --> 00:45:06,920 Yep. 991 00:45:06,920 --> 00:45:07,520 >> ALLISON: Ja. 992 00:45:07,520 --> 00:45:10,150 So die vraag is, waar is styl 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 Ja? 995 00:45:13,639 --> 00:45:16,880 >> Publiek: As ons definieer veranderlikes, is dit OK 996 00:45:16,880 --> 00:45:28,145 as ons soos [onhoorbaar] soos int telling en dan int doel. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 So sou jy sê dat ons nou het hulle saam te definieer? 999 00:45:35,100 --> 00:45:37,640 >> ALLISON: So bevraagteken, moet jy het oorbodig kode 1000 00:45:37,640 --> 00:45:40,940 wanneer jy definieer veranderlikes soos int telling en 1001 00:45:40,940 --> 00:45:43,239 op die volgende reël int spel? 1002 00:45:43,239 --> 00:45:46,030 ROB BOWDEN: Daar is beslis gevalle waar oortollige kode is sleg. 1003 00:45:46,030 --> 00:45:47,738 Ek sou nie oorweeg dat onnodige kode. 1004 00:45:47,738 --> 00:45:50,970 Ek het amper nooit verklaar veelvuldige veranderlikes op dieselfde lyn ooit. 1005 00:45:50,970 --> 00:45:53,736 En as daar iets is, is dit omdat gewoonlik laat ek 'n soort van kommentaar 1006 00:45:53,736 --> 00:45:55,235 verduidelik wat die veranderlike is vir. 1007 00:45:55,235 --> 00:45:57,582 So ek sal sê int telling streep streep. 1008 00:45:57,582 --> 00:45:59,350 Hou van wat ook al. 1009 00:45:59,350 --> 00:46:00,710 In totaal streep streep. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 So dit is baie Grosser op dié manier hulle almal om te sit op dieselfde lyn. 1012 00:46:06,455 --> 00:46:08,080 Ek het net nog nooit het hulle op dieselfde lyn. 1013 00:46:08,080 --> 00:46:10,580 >> ALLISON: Ek voel dit is persoonlike voorkeur op hierdie punt. 1014 00:46:10,580 --> 00:46:14,900 >> Publiek: Is dit gaan vir vir loops en dinge te doen? 1015 00:46:14,900 --> 00:46:15,900 ROB BOWDEN: Soos binnekant? 1016 00:46:15,900 --> 00:46:18,282 Soos int i gelyk aan 0 komma lengte gelyk aan iets? 1017 00:46:18,282 --> 00:46:19,490 Dat jy nie 'n keuse nie. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 Met vir sirkelroetes die inisialisering part-- sodat jy kan net gesien het 1020 00:46:25,910 --> 00:46:31,520 int i gelyk aan 0 kommapunt i minder as wat kommapunt i plus plus. 1021 00:46:31,520 --> 00:46:33,820 Dit int i gelyk aan 0, tegnies kan jy ook 1022 00:46:33,820 --> 00:46:35,770 doen wat ons gesien het voordat met die komma sintaksis. 1023 00:46:35,770 --> 00:46:39,790 int i gelyk aan 0 komma j gelyk aan 3 komma k gelyk aan 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 Jy het nie 'n keuse te verdeel dat tot in verskeie lyne, 1026 00:46:44,320 --> 00:46:46,530 en dit is standaard. 1027 00:46:46,530 --> 00:46:47,780 Aangesien dit daar is 'n boete. 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 Wel, gerieflik segue in sirkelroetes. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 So ja, hier het ons 'n paar voorbeelde van sirkelroetes julle sien in krap. 1033 00:46:58,980 --> 00:47:01,550 En natuurlik al hierdie kan net in C. herskep 1034 00:47:01,550 --> 00:47:04,610 En hulle het basies toelaat dat jy sommige artikel van die kode te herhaal 1035 00:47:04,610 --> 00:47:06,740 totdat 'n sekere toestand voldoen, wat ons sal 1036 00:47:06,740 --> 00:47:09,198 kry in reg nadat praat oor lusse met conditionals. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> So het ons drie hooftipes. 1039 00:47:12,570 --> 00:47:17,500 Want terwyl, en doen terwyl, wat ons almal gaan nou deur. 1040 00:47:17,500 --> 00:47:18,860 So die eerste een is vir sirkelroetes. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 So vir 'n paar toestand, voer hierdie blok van die kode. 1043 00:47:25,034 --> 00:47:27,200 Ons het hierdie koel bietjie diagram hier aan die onderkant. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 Maar basies wat jy in jou vir wat eerste reël, 1046 00:47:32,310 --> 00:47:34,240 jy gaan inisialiseer jou veranderlikes. 1047 00:47:34,240 --> 00:47:38,260 >> So as ons gepraat oor, ek is gelyk aan 0 of ek is gelyk aan 10. 1048 00:47:38,260 --> 00:47:40,010 Wat jy nodig het dat veranderlike te wees is dit 1049 00:47:40,010 --> 00:47:43,970 gaan om daar te wees geïnisialiseer, verklaar en geïnisialiseer te waarde. 1050 00:47:43,970 --> 00:47:46,760 So dan het ons het 'n paar toestand wat gaan 1051 00:47:46,760 --> 00:47:48,900 wees kontrole ons veranderlike teen iets. 1052 00:47:48,900 --> 00:47:55,220 So in die geval van die tipiese geval waar Miskien het jy hierdie gedeelte van die kode wil 1053 00:47:55,220 --> 00:47:56,620 vyf keer uit te voer. 1054 00:47:56,620 --> 00:48:02,380 So ons wil hê int i gelyk aan 0, en ons dit wil wees wanneer ek is minder as 5. 1055 00:48:02,380 --> 00:48:04,940 Sodat toestand is net gaan om seker te maak dat elke keer. 1056 00:48:04,940 --> 00:48:07,120 As die toestand evalueer waar, dit is 1057 00:48:07,120 --> 00:48:11,162 gaan die kode, dit is presies uit te voer wat hierdie klein diagram toon. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> En so is dit voer nie. 1060 00:48:13,639 --> 00:48:15,430 Dit opdatering van 'n veranderlike, en dit is wat ons sien 1061 00:48:15,430 --> 00:48:21,020 in die laaste deel van ons vir lus inisialisering daar. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 So dit sal net hou om dit te doen tot op daardie voorwaarde nie nagekom word nie, 1064 00:48:26,030 --> 00:48:28,010 en dan sal dit verlaat die lus en gaan voort 1065 00:48:28,010 --> 00:48:29,960 beweeg met die res van jou program. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 Almal goeie daar? 1068 00:48:33,620 --> 00:48:34,440 Cool. 1069 00:48:34,440 --> 00:48:37,780 >> So hier is 'n voorbeeld, baie soortgelyk om iets wat ek net gepraat oor. 1070 00:48:37,780 --> 00:48:42,030 So ons wil net te druk dit is CS50 10 keer. 1071 00:48:42,030 --> 00:48:44,540 So jy sien ons het hier ons vir, en dan moet ons 1072 00:48:44,540 --> 00:48:47,450 inisialiseer die veranderlike i gelyk aan 0 te wees. 1073 00:48:47,450 --> 00:48:50,610 Ons toestand is kontrole dat dit minder as 10. 1074 00:48:50,610 --> 00:48:55,210 So evalueer waar wanneer ons die eerste keer begin, en dan hou ons veranderlike 1075 00:48:55,210 --> 00:48:58,985 elke keer dat dit eintlik voer en afdrukke uit dit is CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 En sal beëindig nadat 10 keer. 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 >> Dus, terwyl loops is volgende. 1081 00:49:07,130 --> 00:49:12,400 En as jy hier sien, ons moet net sommige terwyl hierdie condition-- vraag? 1082 00:49:12,400 --> 00:49:15,238 >> Publiek: Hoe kan ek spring eintlik net nie 'n nommer, 1083 00:49:15,238 --> 00:49:19,030 maar twee getalle [onhoorbaar] i plus plus plus? 1084 00:49:19,030 --> 00:49:23,390 >> ALLISON: So die vraag is hoe kan jy werk jou veranderlike deur meer as een 1085 00:49:23,390 --> 00:49:24,070 op 'n tyd. 1086 00:49:24,070 --> 00:49:26,860 So ek plus Plus werk deur elke keer een. 1087 00:49:26,860 --> 00:49:32,310 As jy wil om dit te verander deur twee, kan jy dit doen ek plus gelyk aan 2. 1088 00:49:32,310 --> 00:49:34,526 >> ROB BOWDEN: Het jy gesien plus gelyk in lesing nog? 1089 00:49:34,526 --> 00:49:35,442 >> Publiek: [onhoorbaar]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> ALLISON: Dis effektief die dieselfde ding as ek gelyk i plus 2. 1092 00:49:42,110 --> 00:49:46,130 So dit gaan om dit te neem en werk dit elke keer met twee. 1093 00:49:46,130 --> 00:49:49,432 Plus gelyk is net iets ons noem sintaktiese suiker. 1094 00:49:49,432 --> 00:49:52,390 ROB BOWDEN: Ja, diegene bestaan ​​vir pretty much al rekenkundige operateurs. 1095 00:49:52,390 --> 00:49:55,830 So ek keer gelyk aan sou die aantal verdubbel. 1096 00:49:55,830 --> 00:50:02,590 j kloof gelyk aan 3 is dieselfde as j gelyk j gedeel deur 3. 1097 00:50:02,590 --> 00:50:07,399 >> ALLISON: Of minus gelyk aan 2 sou Trek ek elke keer met twee. 1098 00:50:07,399 --> 00:50:08,565 ROB BOWDEN: Selfs mod gelykes. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 Jy het dit nie gesien bis-operateurs, maar kappie gelyk en ampersand gelyk, 1101 00:50:13,270 --> 00:50:14,560 al daardie bestaan. 1102 00:50:14,560 --> 00:50:19,480 >> ALLISON: So baie keer, veral met jou eerste paar P-stelle, 1103 00:50:19,480 --> 00:50:22,527 jy sal waarskynlik die verhoog word deur een, so ek plus plus, j plus plus 1104 00:50:22,527 --> 00:50:24,610 alle dinge is wat jy gaan om tipies gebruik nie. 1105 00:50:24,610 --> 00:50:28,240 Maar dit werk toestand ten volle binne jou beheer. 1106 00:50:28,240 --> 00:50:32,310 Jy kan dit verander deur watter stappe of op enige manier wat jy besluit om te. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 Miskien is jy selfs dit wil hê 'n ewekansige getal soms. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 Maar ja, daar is baie van die dinge wat jy kan doen met dit. 1111 00:50:39,580 --> 00:50:41,280 Jy is nie beperk tot i plus plus. 1112 00:50:41,280 --> 00:50:44,400 >> ROB BOWDEN: Net sodat jy weet dit bestaan, is dit ook 1113 00:50:44,400 --> 00:50:46,960 bestaan ​​in 'n ander vorm, plus plus i. 1114 00:50:46,960 --> 00:50:51,410 So as jy ooit soek aanlyn en gebeur om te sien plus plus i, 1115 00:50:51,410 --> 00:50:52,870 pretty much beteken dieselfde ding. 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 Goed? 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 Dus, terwyl loops. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 Baie soortgelyk. 1125 00:51:02,570 --> 00:51:03,737 Jy het 'n paar toestand. 1126 00:51:03,737 --> 00:51:05,820 Die belangrikste ding om op te let hier is in plaas van om 1127 00:51:05,820 --> 00:51:08,540 drie verskillende dele op te rig, het ons een. 1128 00:51:08,540 --> 00:51:11,090 Ons het net 'n paar toestand dit is nagegaan. 1129 00:51:11,090 --> 00:51:14,920 En op dieselfde manier, so lank as wat daardie toestand evalueer tot ware, 1130 00:51:14,920 --> 00:51:16,840 jou kode gaan loop. 1131 00:51:16,840 --> 00:51:18,870 En as dit is vals, is dit sal skuif beëindig 1132 00:51:18,870 --> 00:51:21,930 na die volgende deel van jou program. 1133 00:51:21,930 --> 00:51:25,780 So dit is soort van like-- wat is 'n goeie voorbeeld van kontrole 1134 00:51:25,780 --> 00:51:27,215 vir 'n paar normale toestand? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL: Terwyl waar. 1137 00:51:30,235 --> 00:51:32,110 ALLISON: Jy kan dit doen terwyl ware. 1138 00:51:32,110 --> 00:51:33,510 Wel, 1 is gelyk aan 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB BOWDEN: Jy kan dit doen while-- net in plaas van die gebruik van 'n lus, 1141 00:51:37,642 --> 00:51:39,600 jy kan altyd kode om 'n lus in 'n while lus, 1142 00:51:39,600 --> 00:51:42,600 sodat ek groter as 0 of terwyl ek minder as 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 En dan het ons te doen terwyl loops, wat is 'n groot vir die gebruiker bevestiging, waar 1146 00:51:50,640 --> 00:51:55,370 wil jy iets uit te kry jou gebruikers, sien of dit geldig is, 1147 00:51:55,370 --> 00:51:57,060 en dan gaan voort van daar. 1148 00:51:57,060 --> 00:52:04,000 So een van die dinge te weet, is met 'n doen terwyl is dat dit gaan om uit te voer, 1149 00:52:04,000 --> 00:52:08,000 en dan sal dit-weer uit te voer Indien hierdie toestand ontmoet. 1150 00:52:08,000 --> 00:52:11,240 >> So waarskynlik die beste manier om dit te doen is net 'n voorbeeld hier te sien. 1151 00:52:11,240 --> 00:52:14,620 So as ek nou net genoem, gebruikers bevestiging is regtig useful-- 1152 00:52:14,620 --> 00:52:17,520 of doen genot is regtig nuttig met die gebruiker bevestiging. 1153 00:52:17,520 --> 00:52:19,730 So dit is net gaan weer gevra sommige gebruikers 1154 00:52:19,730 --> 00:52:23,640 totdat hulle in 'n positiewe getal, wat nuttig vir jou P stel kan wees 1155 00:52:23,640 --> 00:52:24,190 hierdie week. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 En so in hierdie geval, toe ons aanvanklik hierdie program, 1158 00:52:29,480 --> 00:52:32,260 dit gaan druk Voer 'n positiewe getal. 1159 00:52:32,260 --> 00:52:34,810 Dit gaan 'n paar te kry toevoer van die gebruiker, 1160 00:52:34,810 --> 00:52:38,320 en dan gaan dit na te gaan dat toevoer teen die toestand 1161 00:52:38,320 --> 00:52:39,500 dat jy gesit het vir dit. 1162 00:52:39,500 --> 00:52:41,030 >> So in hierdie geval gaan dit na te gaan. 1163 00:52:41,030 --> 00:52:44,190 Dit gaan om te sê, OK, is ons insette negatiewe, 1164 00:52:44,190 --> 00:52:47,175 of is dit 0 of negatief, wat ongeldig sou wees. 1165 00:52:47,175 --> 00:52:48,300 So dan is dit weer vinnig. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 Vraag? 1168 00:52:50,780 --> 00:52:54,720 >> Publiek: Is dit dieselfde dan as 'n while lus as jy net kopieer wat die kode 1169 00:52:54,720 --> 00:52:56,680 en sit dit [onhoorbaar] terwyl loop? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> ALLISON: So vraag was sou dit dieselfde as net 'n rukkie 1172 00:53:05,160 --> 00:53:08,570 lus as ons net kopieer die while lus hierbo. 1173 00:53:08,570 --> 00:53:12,440 So in hierdie geval, jou while lus is gaan die toestand na die eerste toets. 1174 00:53:12,440 --> 00:53:15,300 So in hierdie geval, as ons probeer as net 'n while lus om te skryf, 1175 00:53:15,300 --> 00:53:18,010 dit sou sê, terwyl insette is minder as een. 1176 00:53:18,010 --> 00:53:20,801 Maar ons het nie 'n bydrae vir dit. 1177 00:53:20,801 --> 00:53:24,238 >> Publiek: As jy [onhoorbaar] while lus insluitend hierdie kode 1178 00:53:24,238 --> 00:53:28,166 maar dan moet jy coped die kode bo die while lus ook. 1179 00:53:28,166 --> 00:53:31,052 Jy moes net hierdie kode [Onhoorbaar] terwyl loop. 1180 00:53:31,052 --> 00:53:32,760 ALLISON: Dit sal wees dieselfde ding, ja. 1181 00:53:32,760 --> 00:53:37,110 So jy kan net write-- in plaas van om 'n do-- ja. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL: Maar dit is meer elegant. 1184 00:53:39,350 --> 00:53:41,020 ALLISON: Ja, dit is meer elegant. 1185 00:53:41,020 --> 00:53:44,560 Jy kan kry in die ontwerp en noem maar op, maar ja, kan jy heeltemal doen. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 Enige ander vrae? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 OK, cool. 1190 00:53:50,250 --> 00:53:55,540 >> So het ons 'n baie gepraat oor die voorwaardes met al hierdie sirkelroetes wat ons het, 1191 00:53:55,540 --> 00:53:58,615 so ons is eintlik om in toestande in Boolse uitdrukkings. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 Weereens, jy gebruik dit in C, so net soort van die oordrag 1194 00:54:03,440 --> 00:54:06,050 uit meer grafiese koppelvlak eintlik kodering. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> Cool, so groot een, indien. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 Basies net toelaat om ons te voer sommige logika in ons program en tjek 1199 00:54:17,070 --> 00:54:17,790 sys voorwaardes. 1200 00:54:17,790 --> 00:54:22,150 So in hierdie geval, OK, is N groter as 0? 1201 00:54:22,150 --> 00:54:24,070 Ja, dit is, sodat jy kan voer nie. 1202 00:54:24,070 --> 00:54:28,060 Dit is net 'n paar te keur voorwaarde dat jy het 1203 00:54:28,060 --> 00:54:33,565 stel, wat ek dink ons ​​is almal gemaklik met die nagaan van voorwaardes. 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 So as die ander is jou ander een, jy kan sê OK, as dit waar is, 1208 00:54:44,530 --> 00:54:46,150 doen dit eerste ding. 1209 00:54:46,150 --> 00:54:48,720 Anders wil ek jou standaard en doen iets anders. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 Soos in hierdie geval, jy kies 'n positiewe getal of 'n negatiewe getal. 1212 00:54:55,060 --> 00:54:56,500 Jy hoef net twee opsies. 1213 00:54:56,500 --> 00:54:59,550 Jy moet dit ongeag voer van wat jou gebruiker insette. 1214 00:54:59,550 --> 00:55:02,920 So kan jy ook sê, is dit groter as 0? 1215 00:55:02,920 --> 00:55:03,480 Cool. 1216 00:55:03,480 --> 00:55:04,480 Druk 'n positiewe getal. 1217 00:55:04,480 --> 00:55:06,153 As dit is nie, druk 'n negatiewe. 1218 00:55:06,153 --> 00:55:06,960 Almal goeie? 1219 00:55:06,960 --> 00:55:14,920 >> En dan een ding om te besef is dat indien die indien toestand voldoen word, 1220 00:55:14,920 --> 00:55:16,650 die ander sal nooit ook voer. 1221 00:55:16,650 --> 00:55:19,210 Slegs een van hierdie sal voer op 'n slag. 1222 00:55:19,210 --> 00:55:20,410 So dit is 'n kompromis. 1223 00:55:20,410 --> 00:55:21,720 Jy kry nie beide te hê. 1224 00:55:21,720 --> 00:55:23,566 Jy het die eerste toestand. 1225 00:55:23,566 --> 00:55:25,440 Jy het die as of die ander, nie albei nie. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 Wat dan kan dinge selfs meer ingewikkeld, 1228 00:55:28,890 --> 00:55:31,060 want jy kan doen as, anders, en dan anders. 1229 00:55:31,060 --> 00:55:32,810 So in hierdie geval, ons het drie voorwaardes. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 En weer, slegs een van hierdie is gaan aan die einde uitgevoer word. 1232 00:55:38,370 --> 00:55:41,030 So jy mag dalk wonder Wel, wat as jy 1233 00:55:41,030 --> 00:55:45,510 iets wat kan ontmoet twee van hierdie. 1234 00:55:45,510 --> 00:55:49,520 Miskien alles wat jy skryf voldoen aan beide die toestand 1235 00:55:49,520 --> 00:55:51,811 Want as en die ander as. 1236 00:55:51,811 --> 00:55:53,060 Enigste ding wat gaan om te hardloop 1237 00:55:53,060 --> 00:55:56,240 >> ALLISON: Sodra dit vind iets dat dit voldoen aan die voorwaarde vir daardie 1238 00:55:56,240 --> 00:55:59,790 evalueer waar, dit is wat dit gaan om te hardloop en niks anders nie. 1239 00:55:59,790 --> 00:56:04,440 So as jy het is hierdie getal tussen 0 en 5 vir jou eerste een, 1240 00:56:04,440 --> 00:56:10,530 of is dit getal tussen 3 en 5 vir die anders as 'n deel, 1241 00:56:10,530 --> 00:56:15,550 en jy die invoer van die number-- Ek het gesê 0 en 5 and-- 4. 1242 00:56:15,550 --> 00:56:18,110 Dit gaan die eerste een om te tref. 1243 00:56:18,110 --> 00:56:20,960 Dit gaan OK, om dit te sê getal tussen 0 en 5. 1244 00:56:20,960 --> 00:56:22,480 Voer en verlaat. 1245 00:56:22,480 --> 00:56:25,340 Dit sal nooit getref dat die tweede opsie. 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 ons het ook 'n skakelaar state indien jy nog more-- of jammer te kry, 1249 00:56:31,300 --> 00:56:31,965 skakelaar is volgende. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 Ek is voor my kry hier. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 Weer, verskeie indien blokke waar as Ek het net gesê 1254 00:56:39,210 --> 00:56:45,600 is so gou as wat jy kry 'n toestand dit is voldoen en 'n as anders as die ander, 1255 00:56:45,600 --> 00:56:46,630 dit laat. 1256 00:56:46,630 --> 00:56:49,560 As jy nodig het om te kyk verskeie dinge, is jy 1257 00:56:49,560 --> 00:56:53,000 gaan wil dit omdat te gebruik dit sal elke keer hier gaan. 1258 00:56:53,000 --> 00:56:58,060 So dit sal loop deur en as dit is groter as of gelyk aan 90, 1259 00:56:58,060 --> 00:56:59,160 dit gaan om dit te druk. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 En dit sal loop deur en check elke enkele een van hulle nie. 1262 00:57:03,600 --> 00:57:06,444 >> Publiek: So dit sou wees meer karretjie as [onhoorbaar]. 1263 00:57:06,444 --> 00:57:07,735 Sou dit wees soos [onhoorbaar]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> ALLISON: Die vraag is sal dit wees karretjie of het dit te doen wat jy wil. 1266 00:57:15,740 --> 00:57:19,830 Dit hang af van wat jy wil van jou program. 1267 00:57:19,830 --> 00:57:22,291 >> Publiek: Ek bedoel soos as jy 90 in. 1268 00:57:22,291 --> 00:57:23,290 ALLISON: As jy 90-- 1269 00:57:23,290 --> 00:57:24,206 Publiek: [onhoorbaar]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL: Jy gaan twee dinge te kry. 1272 00:57:27,250 --> 00:57:28,916 ALLISON: Jy gaan twee dinge te kry. 1273 00:57:28,916 --> 00:57:29,420 Ja, twee. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB BOWDEN: Twee? 1276 00:57:33,920 --> 00:57:34,580 >> ALLISON: No. 1277 00:57:34,580 --> 00:57:35,288 >> ROB BOWDEN: Vier. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 As jy 90, gaan dit vir jou te sê het 'n A, jy het 'n B, jy het 'n C, 1280 00:57:40,070 --> 00:57:40,545 jy het 'n D. 1281 00:57:40,545 --> 00:57:41,461 >> Publiek: [onhoorbaar]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 ALLISON: Right. 1284 00:57:42,820 --> 00:57:44,778 So ek hang af van wat jy wil graag van jou program. 1285 00:57:44,778 --> 00:57:47,050 Soms is dit nodig om te check verskeie dinge. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 Jy sal baie dieper in te kry wat goeie ontwerp is as jy gaan vorentoe. 1288 00:57:55,270 --> 00:57:57,090 Die belangrikste ding om te besef is dat hierdie 1289 00:57:57,090 --> 00:58:01,090 sal hier seker al vier voorwaardes. 1290 00:58:01,090 --> 00:58:05,860 Terwyl as dit was 'n as anders as ander As anders nie, sou dit getref dat die eerste geval, 1291 00:58:05,860 --> 00:58:07,950 dit sou druk jy het 'n A-en gedoen moet word. 1292 00:58:07,950 --> 00:58:10,250 >> ROB BOWDEN: Selfs as ons besluit om dit te verander as 1293 00:58:10,250 --> 00:58:13,880 en groter as of gelyk aan 90, indien en groter as of gelyk aan 80, 1294 00:58:13,880 --> 00:58:19,710 en minder as of gelyk aan 89 as N groter as of gelyk aan 70, 1295 00:58:19,710 --> 00:58:23,830 en N minder as of gelyk aan 79, so wat sal korrek wees. 1296 00:58:23,830 --> 00:58:27,190 Dit sal doen wat ons wil nie, maar dit nog steeds tjeks elke enkele dit. 1297 00:58:27,190 --> 00:58:34,050 >> So terwyl dit in die eerste scenario, as ons tree 90 met net as anders as anders as, 1298 00:58:34,050 --> 00:58:37,300 en ons gaan 90, dan dit gaan regstel. 1299 00:58:37,300 --> 00:58:39,615 Dit sal seker die eerste een, druk jy 'n A, 1300 00:58:39,615 --> 00:58:42,590 slaan alles, omdat dit reeds gevind een wat werk. 1301 00:58:42,590 --> 00:58:46,360 Alle gevalle is onderling uitsluitend gebaseer op as anders as anders as. 1302 00:58:46,360 --> 00:58:48,630 So dit sal voer die eerste as, dan is dit gedoen. 1303 00:58:48,630 --> 00:58:49,790 Dit sal gaan aan die einde. 1304 00:58:49,790 --> 00:58:52,400 >> Terwyl as ons verander om dit te wees wat ek was 1305 00:58:52,400 --> 00:58:54,204 sê met minder as of gelyk aan 89. 1306 00:58:54,204 --> 00:58:55,620 Dit gaan die eerste een om te kyk. 1307 00:58:55,620 --> 00:58:56,560 Dit sal druk. 1308 00:58:56,560 --> 00:58:58,010 Dit sal seker die tweede een. 1309 00:58:58,010 --> 00:58:59,010 Dit gaan nie om te druk. 1310 00:58:59,010 --> 00:58:59,910 Gaan die derde een. 1311 00:58:59,910 --> 00:59:00,620 Gaan nie te druk. 1312 00:59:00,620 --> 00:59:01,495 Gaan die vierde een. 1313 00:59:01,495 --> 00:59:02,420 Nou gaan druk. 1314 00:59:02,420 --> 00:59:05,380 So in daardie geval, die anders as weergawe, aangesien hierdie gevalle 1315 00:59:05,380 --> 00:59:09,120 onderling eksklusiewe, dit is beter gebruik as anders as anders as, 1316 00:59:09,120 --> 00:59:12,970 want dit gaan hê minder tjeks van die voorwaardes 1317 00:59:12,970 --> 00:59:14,750 as hierdie weergawe. 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 So 'n ding wat ons kan doen, is skakelaar state. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 Basies 'n skakelaar verklaring neem in sommige veranderlike, 1323 00:59:25,270 --> 00:59:28,780 In hierdie geval is dit n, en bepaal watter geval uit te voer. 1324 00:59:28,780 --> 00:59:33,106 So is dit ook een waar jou gevalle moet soort van wedersyds uitsluitend nie. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 So in hierdie geval, indien Ons kry ons 'n een, dit is ' 1327 00:59:37,940 --> 00:59:42,270 gaan alles wat te pas variable-- ongeag die waarde van N 1328 00:59:42,270 --> 00:59:48,700 is aan een van hierdie gevalle, so 1, 2, of 3, en die druk van die ooreenstemmende lyn. 1329 00:59:48,700 --> 00:59:51,870 >> En dan as jy hier sien, ons het ook 'n standaard, 1330 00:59:51,870 --> 00:59:54,670 wat jy kan van dink as jou anders. 1331 00:59:54,670 --> 00:59:58,510 So as jy enige ander getal tel Behalwe 1, 2, en 3 in hierdie geval 1332 00:59:58,510 --> 00:59:59,885 dit is net gaan om te druk ongeldig. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 Besluit wanneer ifs te gebruik versus As elses versus skakelaars gaan 1335 01:00:08,390 --> 01:00:12,590 om iets te wees wat jy ouens sien ontwerp wys soos jy begin skryf 1336 01:00:12,590 --> 01:00:15,270 meer ingewikkeld programme en daar is geen vaste reëls 1337 01:00:15,270 --> 01:00:16,330 wanneer om dit te gebruik. 1338 01:00:16,330 --> 01:00:17,890 Dit hang af van jou konteks. 1339 01:00:17,890 --> 01:00:18,590 >> ROB BOWDEN: En net dit uit te gooi daar 1340 01:00:18,590 --> 01:00:20,131 want dit is meer gemaklik afdeling. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 Skakelaars, hulle is geneig om be-- sodat jy beperk 1343 01:00:25,053 --> 01:00:27,430 in die getal van die maniere waarop jy kan gebruik, want as, 1344 01:00:27,430 --> 01:00:30,100 die toestand kan mooi wees much enigiets wat jy wil. 1345 01:00:30,100 --> 01:00:33,410 Met skakel die gevalle nommers te wees, 1346 01:00:33,410 --> 01:00:37,770 of tegnies hulle kan wees karakters, maar karakters, soos ons sal sien, is net nommers. 1347 01:00:37,770 --> 01:00:44,250 So het hulle getalle nie, maar skakel te wees regtig meer doeltreffend as wanneer 1348 01:00:44,250 --> 01:00:50,060 anders as anders as, want selfs neem die voorbeeld before-- goed, 1349 01:00:50,060 --> 01:00:51,486 die graad voorbeeld lyk goed. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> Wel, laat ons hier sê, ons plaas doen dit as 'n as anders as anders as scenario. 1352 01:00:57,080 --> 01:01:00,930 So as n gelyk gelyk aan 1, druk jy opgetel 'n lae nommer. 1353 01:01:00,930 --> 01:01:04,490 As anders as n gelyk gelyk aan 2, jy pluk 'n medium-nommer. 1354 01:01:04,490 --> 01:01:06,550 Anders as gelykes gelyk aan 3, hoog. 1355 01:01:06,550 --> 01:01:08,060 Anders ongeldig. 1356 01:01:08,060 --> 01:01:09,820 >> So kom ons sê dit was ons scenario. 1357 01:01:09,820 --> 01:01:14,060 So kom ons sê ons gaan 4, so ons verwag ongeldig. 1358 01:01:14,060 --> 01:01:17,410 Die manier dat indien anders as anders As benadering is om te gaan werk is 1359 01:01:17,410 --> 01:01:18,740 gaan die eerste toestand. 1360 01:01:18,740 --> 01:01:19,776 Dit is nie tevrede nie. 1361 01:01:19,776 --> 01:01:21,150 So gaan ons die tweede toestand. 1362 01:01:21,150 --> 01:01:21,940 Dit is nie tevrede nie. 1363 01:01:21,940 --> 01:01:23,023 Gaan die derde toestand. 1364 01:01:23,023 --> 01:01:23,640 Nie tevrede nie. 1365 01:01:23,640 --> 01:01:26,650 So gaan ons na die ander en druk ongeldig. 1366 01:01:26,650 --> 01:01:30,169 >> Die manier waarop die skakelaar werke is dit stel af 1367 01:01:30,169 --> 01:01:31,960 in wat ons gaan 'n sprong tafel te noem. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 Die belangrikste idee is dat wanneer jy 4, 1370 01:01:37,120 --> 01:01:39,090 dit kan onmiddellik na die verstek. 1371 01:01:39,090 --> 01:01:41,460 Dit hoef nie am Ek geval 1 om te kyk? 1372 01:01:41,460 --> 01:01:42,350 Nee dit is dit nie. 1373 01:01:42,350 --> 01:01:42,850 Geval 2? 1374 01:01:42,850 --> 01:01:43,240 Nee. 1375 01:01:43,240 --> 01:01:43,770 Geval 3? 1376 01:01:43,770 --> 01:01:44,270 Nee. 1377 01:01:44,270 --> 01:01:45,090 Verstek. 1378 01:01:45,090 --> 01:01:47,610 OK, dit moet ek wees waar wil, en dan voer nie. 1379 01:01:47,610 --> 01:01:49,590 Nee, dit dadelik spring na die standaard. 1380 01:01:49,590 --> 01:01:51,900 Of is dit ek gaan 2, is dit onmiddellik gaan om te gaan na die 2 1381 01:01:51,900 --> 01:01:54,060 sonder om te gaan deur geval 1. 1382 01:01:54,060 --> 01:01:57,820 >> So in die pad, realisties deesdae is dit 1383 01:01:57,820 --> 01:02:00,250 nie veel van 'n doeltreffendheid gewin. 1384 01:02:00,250 --> 01:02:02,880 Gewoonlik rekenaars is redelik vinnig, en dit is nie so groot. 1385 01:02:02,880 --> 01:02:07,270 Maar dit is die saak wat skakelaars is vinniger. 1386 01:02:07,270 --> 01:02:10,380 As jy regtig probeer te optimaliseer, gebruik 'n skakelaar. 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 En dan het ons drieledige operateur. 1390 01:02:15,270 --> 01:02:19,470 So ek weet ek vroeër genoem die woord sintaktiese suiker. 1391 01:02:19,470 --> 01:02:24,160 So dit is net dinge wat jou kode veel meer bondige. 1392 01:02:24,160 --> 01:02:25,590 So, dit is een van daardie gevalle. 1393 01:02:25,590 --> 01:02:31,430 >> So drieledige operateur vraagteken kolon, soos ons sien in die lyn string 1394 01:02:31,430 --> 01:02:35,810 s is gelyk aan n groter as 100 vraagteken hoë kolon laag. 1395 01:02:35,810 --> 01:02:41,800 So basies hoe dit werk is dit die N groter as 100 is 'n toestand. 1396 01:02:41,800 --> 01:02:43,674 So ek dink dit kan sin maak. 1397 01:02:43,674 --> 01:02:44,840 Dit is soos 'n vraag vra. 1398 01:02:44,840 --> 01:02:47,320 Dit is te sê o, is N groter as 100. 1399 01:02:47,320 --> 01:02:48,340 Wie weet? 1400 01:02:48,340 --> 01:02:50,750 En as dit evalueer aan ware, dit gaan jou te gee 1401 01:02:50,750 --> 01:02:54,270 die eerste ding wat wat daar gelys, wat hoog is. 1402 01:02:54,270 --> 01:02:55,840 Anders dit gaan jou lae te gee. 1403 01:02:55,840 --> 01:03:01,210 So dit is net 'n baie eenvoudige en doeltreffende manier om te doen soos 'n as anders. 1404 01:03:01,210 --> 01:03:02,780 Dit is al wat dit is. 1405 01:03:02,780 --> 01:03:07,450 >> En as ons dit te skryf as 'n as anders voorwaardelike, 1406 01:03:07,450 --> 01:03:12,480 dit sou wees as n groter as 100, terugkeer hoog. 1407 01:03:12,480 --> 01:03:14,220 Anders, terugkeer laag. 1408 01:03:14,220 --> 01:03:17,570 Dit is net 'n baie meer bondige manier om dit te skryf. 1409 01:03:17,570 --> 01:03:27,090 >> ROB BOWDEN: So hierdie spesifieke voorbeeld is wanneer jy iets doen 1410 01:03:27,090 --> 01:03:30,190 soos hierdie, is dit die patroon waar ek gebruik drieledige baie gereeld. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 So ons het nie gepraat oor die omvang nie, maar ek haat sien string s kommapunt. 1413 01:03:35,460 --> 01:03:39,150 Indien n groter as 100, s gelyk hoog. 1414 01:03:39,150 --> 01:03:40,660 Anders, s gelyk laag. 1415 01:03:40,660 --> 01:03:45,070 Sodat patroon, die vyf lyne van die kode letterlik 100% van die tyd 1416 01:03:45,070 --> 01:03:49,800 kan in wat oorgedra word was daar met 'n drieledige. 1417 01:03:49,800 --> 01:03:52,340 So het die drieledige, een lyn van kode. 1418 01:03:52,340 --> 01:03:54,640 Die as anders, vyf. 1419 01:03:54,640 --> 01:03:56,910 Dit is 'n voorbeeld wys ek uit elke keer. 1420 01:03:56,910 --> 01:03:59,250 Dit sou 'n groot plek vir 'n drieledige operateur. 1421 01:03:59,250 --> 01:04:00,647 Dit is so skoon. 1422 01:04:00,647 --> 01:04:01,980 Maar mense is geneig om nooit gebruik nie. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> ALLISON: Neem dit weg Gabe. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: So nou julle almal in lesing hierdie week geleer 1426 01:04:11,110 --> 01:04:13,420 dat alles in 'n rekenaar is tweeledig, reg? 1427 01:04:13,420 --> 01:04:14,570 Net soos die lampe hier. 1428 01:04:14,570 --> 01:04:16,492 Jy kan óf draai op en af. 1429 01:04:16,492 --> 01:04:18,450 En alles, ek bedoel letterlik alles. 1430 01:04:18,450 --> 01:04:24,272 Sommige getalle en karakters, en snare, en selfs die kode wat jy skryf wanneer 1431 01:04:24,272 --> 01:04:26,480 dit word saamgestel om die masjien kode en dinge soos wat, 1432 01:04:26,480 --> 01:04:29,230 sodat dit alles neer op 0 en 1. 1433 01:04:29,230 --> 01:04:34,540 >> En so wanneer ons te doen met heelgetalle, wat 1434 01:04:34,540 --> 01:04:38,000 is iets wat tegnies baie eenvoudige, moet ons in staat wees om goed te doen 1435 01:04:38,000 --> 01:04:40,630 soos dit toe te voeg, wat waarskynlik een van die eenvoudigste dinge 1436 01:04:40,630 --> 01:04:42,300 wat jy kan doen om twee heelgetalle, reg? 1437 01:04:42,300 --> 01:04:47,410 So optel en aftrek werk net soos dit werk in desimale notasie 1438 01:04:47,410 --> 01:04:50,780 behalwe hier is dit binêre, reg? 1439 01:04:50,780 --> 01:04:52,090 So is dit in die basis twee. 1440 01:04:52,090 --> 01:04:54,070 So voeg 1 plus 1. 1441 01:04:54,070 --> 01:04:57,020 Dit gee 0 en 1 dra oor. 1442 01:04:57,020 --> 01:05:01,335 En net aanhou om dit te doen, so nou kom die meer interessante vraag. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> Ons weet hoe om al te verteenwoordig positiewe heelgetalle in die rekenaar, 1445 01:05:07,710 --> 01:05:09,870 maar laat ons maak dit 'n oefening. 1446 01:05:09,870 --> 01:05:15,240 Verbeel jou jy ouens is al in 1960 of iets probeer om 'n rekenaar te skep, 1447 01:05:15,240 --> 01:05:19,950 en jy het om te kom uit 'n manier van die stoor van minus 1, 1448 01:05:19,950 --> 01:05:22,554 byvoorbeeld, of minus enige heelgetal vir die saak. 1449 01:05:22,554 --> 01:05:23,470 Hoe sal jy dit doen? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 Enige idees? 1452 01:05:29,220 --> 01:05:31,302 Gooi net iets vir my. 1453 01:05:31,302 --> 01:05:32,264 Ja? 1454 01:05:32,264 --> 01:05:39,480 >> Publiek: [onhoorbaar] aanwys 'n spesiale of jou [onhoorbaar]. 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL: Jy kan aanwys om 'n spesiale bietjie, wat sal wees 0 of 1. 1456 01:05:42,590 --> 01:05:45,590 Kom ons sê een as dit positief en 0 as dit negatief. 1457 01:05:45,590 --> 01:05:48,171 En dan is die res van die bietjie is net om die nommer te stoor. 1458 01:05:48,171 --> 01:05:48,670 Cool. 1459 01:05:48,670 --> 01:05:49,990 So dit is 'n baie goeie idee. 1460 01:05:49,990 --> 01:05:51,550 Ons het, weet ek nie, 200. 1461 01:05:51,550 --> 01:05:54,720 En as die eerste stukkie is aangeskakel, dan is dit plus 200. 1462 01:05:54,720 --> 01:05:57,270 As dit afgeskakel is, is dit minus 200. 1463 01:05:57,270 --> 01:05:58,380 Cool. 1464 01:05:58,380 --> 01:06:01,350 >> Daar is net een klein probleem met hierdie, 1465 01:06:01,350 --> 01:06:05,370 wat as ons probeer om dinge op te som. 1466 01:06:05,370 --> 01:06:18,910 So dink ons ​​het 11.111 hier, en ons optel dit met 00.100 wat ook al. 1467 01:06:18,910 --> 01:06:21,630 As die twee positief is, is dit goed. 1468 01:06:21,630 --> 01:06:24,470 Maar dan as een van hulle negatief is, soos 1469 01:06:24,470 --> 01:06:27,410 Kom ons sê dat hierdie stukkie hier is die een wat verantwoordelik is 1470 01:06:27,410 --> 01:06:31,390 for-- ek gaan 'n separate-- te maak so hierdie een beteken dat hierdie getal hier 1471 01:06:31,390 --> 01:06:31,970 positief is. 1472 01:06:31,970 --> 01:06:34,450 Hierdie een beteken dat hierdie aantal hier negatief is, reg? 1473 01:06:34,450 --> 01:06:37,010 >> Maar dan wanneer jy gaan hulle op te som, moet jy 1474 01:06:37,010 --> 01:06:40,180 nodig om 'n as verklaring sê Ag, as dit is 0, 1475 01:06:40,180 --> 01:06:43,479 dan is my som sal wees iets anders, reg? 1476 01:06:43,479 --> 01:06:45,270 So is daar 'n effens meer slim manier te doen 1477 01:06:45,270 --> 01:06:48,520 dat, wat twee se aanvulling genoem. 1478 01:06:48,520 --> 01:06:52,350 So basies wat ons doen, is ons definieer minus 1 1479 01:06:52,350 --> 01:06:57,250 die ding wees dat indien Ons voeg tot 1 gee ons 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 Laat ek dit herhaal. 1482 01:07:00,860 --> 01:07:03,280 So kom ons sê dat dit hier is 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 Wat is die ding wat natuurlik in positiewe heelgetalle 1485 01:07:13,570 --> 01:07:15,570 bygevoeg wat gee ons 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 Wat gebeur as ons probeer om dit toe te voeg tot hierdie getal? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 Ons gaan have-- OK, so laat voeg. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 Ons gaan 1 plus 1 te hê is 0, en dan dra dit oor. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 En dan gaan ons 0 weer te kry. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 Ek kry verward. 1496 01:07:48,820 --> 01:07:51,670 En jy gaan 0 te kry en 0 en 0 en 0 en 0 en 0. 1497 01:07:51,670 --> 01:07:52,450 Baie van 0's. 1498 01:07:52,450 --> 01:07:56,240 >> Op die heel laaste een, ons is nie staat sal wees om dit uit te voer oor, 1499 01:07:56,240 --> 01:07:59,614 want kom ons sê ons is net die hantering met een greep, so net 8 stukkies. 1500 01:07:59,614 --> 01:08:02,780 So, wat die rekenaar nie deur die standaard is net vergeet dat [onhoorbaar] 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 So dit is wat genoem word Die twee se komplement. 1504 01:08:06,880 --> 01:08:15,180 Ons het eenvoudig definieer minus 1 aan die wees ding hier dat as jy dit byvoeg 1 1505 01:08:15,180 --> 01:08:15,995 sal gee jy 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 En dit is pretty cool omdat ons nie regtig 1508 01:08:20,180 --> 01:08:24,090 moet laat om te implementeer 'n ander soort som 1509 01:08:24,090 --> 01:08:26,590 afhangende van of dit is 'n negatiewe of 'n positiewe getal. 1510 01:08:26,590 --> 01:08:27,465 Maak dit sin maak? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> So een ding wat ons doen hier in orde te omskep 1513 01:08:32,370 --> 01:08:38,550 tussen 'n positiewe en 'n negatiewe heelgetal is dan flip alles, 1514 01:08:38,550 --> 01:08:40,930 en dan voeg ons 1 tot dat die getal. 1515 01:08:40,930 --> 01:08:43,140 As jy probeer om dit self te doen op 'n stuk papier, 1516 01:08:43,140 --> 01:08:44,681 jy gaan om te sien wat sin maak. 1517 01:08:44,681 --> 01:08:51,000 Maar as ek hierdie getal hier, dit is vyf. 1518 01:08:51,000 --> 01:08:54,859 So as ek draai alles hier, so 1, 1, 1, 1, 1. 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 Flip, draai, flip. 1521 01:08:57,830 --> 01:09:00,130 En dan het ek voeg 1 om dit te. 1522 01:09:00,130 --> 01:09:02,750 Ek gaan presies minus 5 het. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> Dit maak soort van sin, want as jy probeer om dit te vat met die getal 1525 01:09:06,220 --> 01:09:10,229 wat ons gehad het voor, wat was-- laat draai dit weer. 1526 01:09:10,229 --> 01:09:12,999 Dit was 101 en baie van 0's. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 As jy probeer om hierdie by te voeg twee getalle bymekaar, 1529 01:09:15,670 --> 01:09:16,961 jy gaan presies 0 het. 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 Enige vrae? 1533 01:09:19,884 --> 01:09:20,759 >> Publiek: [onhoorbaar] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL: Wat bedoel jy? 1536 01:09:27,280 --> 01:09:29,240 >> Publiek: negatief positiewe [onhoorbaar]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: Nee, jy draai en jy 1 voeg altyd. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 Ja. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 OK, so karakters ook geïnkripteer program. 1542 01:09:39,680 --> 01:09:42,649 Ons het ASCII tabel, soos jy het ook in lesing, reg? 1543 01:09:42,649 --> 01:09:45,040 So dit is basies 'n afbeelding van die dinge. 1544 01:09:45,040 --> 01:09:50,960 En hier kan ek nie genoeg beklemtoon wat vir 'n rekenaar, 'n en 65 1545 01:09:50,960 --> 01:09:52,770 is letterlik die dieselfde ding. 1546 01:09:52,770 --> 01:10:03,430 So as ek iets soos char c skryf gelyk aan 'n, kon ek op dieselfde tyd 1547 01:10:03,430 --> 01:10:06,890 net skryf 65 hier, en dit presies dieselfde sou wees, OK? 1548 01:10:06,890 --> 01:10:08,470 Daar is geen verskil hoegenaamd nie. 1549 01:10:08,470 --> 01:10:12,420 >> Ons het gewoonlik geneig om te sit karakters in veranderlikes tipe. 1550 01:10:12,420 --> 01:10:16,770 Kar, nie, want hulle is in wese gemaak vir wat, maar omdat 1551 01:10:16,770 --> 01:10:18,050 van menslike konvensie. 1552 01:10:18,050 --> 01:10:22,410 Maar jy kan net met heelgetalle in plaas van veranderlikes van tipe char, 1553 01:10:22,410 --> 01:10:23,490 en jy sal goed wees. 1554 01:10:23,490 --> 01:10:28,410 Die enigste werklike verskil tussen 'n kar c en 'n int i 1555 01:10:28,410 --> 01:10:31,960 is dat 'n int vier grepe in die meeste stelsels, terwyl 'n kar het een byte. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 Hulle is in wese die dieselfde ding in terme van data. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 So, wat sal hier druk? 1560 01:10:37,990 --> 01:10:43,780 Hier is ons druk van 'n syfer met behulp van printf met 'n plus 1, en net soos heelgetalle, 1561 01:10:43,780 --> 01:10:46,240 karakters kan opgesom word, so karakters kan ook opgesom word. 1562 01:10:46,240 --> 01:10:47,890 Dus is dit presies 65. 1563 01:10:47,890 --> 01:10:49,950 So daar gaan wees 66, en hier het ons 1564 01:10:49,950 --> 01:10:56,860 65 plus min om 'n minus 'n groot, wat sal wees, ek weet nie regtig. 1565 01:10:56,860 --> 01:11:00,900 Maar dit sal presies die gaping wees tussen die hoofletters 1566 01:11:00,900 --> 01:11:07,800 en die kleiner letters, so ons gaan klein om 'n te kry, reg? 1567 01:11:07,800 --> 01:11:08,300 Ja. 1568 01:11:08,300 --> 01:11:11,740 So dit gaan 'n te druk karakter en dit is presies hierdie een. 1569 01:11:11,740 --> 01:11:12,260 Goed? 1570 01:11:12,260 --> 01:11:12,860 Enige vrae? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> Hier het ons het 'n klomp van die verskillende tipes vir numeriese veranderlikes. 1573 01:11:19,430 --> 01:11:20,620 Ons het reeds gesels oor int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float is net 'n manier aan- dit is regtig snaaks, want toe ek die eerste keer geleer 1576 01:11:27,760 --> 01:11:32,320 Terug na die program in die dag saam met Python, die eerste program wat ek ooit 1577 01:11:32,320 --> 01:11:37,480 probeer om te skryf, het ek gesien dat daar 'n tipe ingeroep en 'n tipe genoem float. 1578 01:11:37,480 --> 01:11:39,800 En die float was vir alle reële getalle. 1579 01:11:39,800 --> 01:11:43,290 So dan het ek gevra hoekom moet Ek ooit 'n int gebruik dan? 1580 01:11:43,290 --> 01:11:45,590 Want as ek almal kan gebruik reële getalle met 'n float, 1581 01:11:45,590 --> 01:11:47,120 Ek wil net ophou met behulp van SY, reg? 1582 01:11:47,120 --> 01:11:49,550 Omdat reële getalle is baie soos meer generiese. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> Dit blyk dat dit nie die geval in rekenaars 1585 01:11:54,060 --> 01:11:58,480 want hulle is in wese verskillende dinge. 1586 01:11:58,480 --> 01:12:01,470 So heelgetalle en dryf, die operasies wat jy doen om hulle 1587 01:12:01,470 --> 01:12:04,739 is in wese anders, want van die wyse waarop hulle gestoor word, OK? 1588 01:12:04,739 --> 01:12:07,280 Ons gaan 'n bietjie om te praat bietjie meer oor wat in 'n tweede. 1589 01:12:07,280 --> 01:12:09,110 >> So dubbel is net 'n groter float. 1590 01:12:09,110 --> 01:12:12,830 Gewoonlik in die meeste stelsels, 'n float vier grepe, net soos 'n int. 1591 01:12:12,830 --> 01:12:15,440 En 'n dubbel is agt grepe. 1592 01:12:15,440 --> 01:12:21,450 'N lang lang is eintlik net 'n simbool dat jy voeg tot 'n tipe soos int. 1593 01:12:21,450 --> 01:12:24,040 Jy sê lang lang int soos hierdie. 1594 01:12:24,040 --> 01:12:28,550 Lang lang int x dit langer te maak. 1595 01:12:28,550 --> 01:12:32,310 So in die meeste stelsels, wat gee agt grepe in plaas van die gebruiklike vier. 1596 01:12:32,310 --> 01:12:35,620 En jy kan eintlik daal die in, so dit kan net sê lang lang, 1597 01:12:35,620 --> 01:12:37,240 en wat werk ook, OK? 1598 01:12:37,240 --> 01:12:42,850 Jy kan ook ander dinge soos unsigned int, of net weer unsigned 1599 01:12:42,850 --> 01:12:43,680 sou ook werk. 1600 01:12:43,680 --> 01:12:49,370 En wat sal maak dat x 'n veranderlike soos alles positief is, 1601 01:12:49,370 --> 01:12:53,231 sodat jy kan nie regtig 'n negatiewe getalle in die manier waarop ons sien hier. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 So volgende wonderlike drywende punt en presisie. 1604 01:12:58,650 --> 01:13:01,890 Dit is een van die redes waarom jy wil SY plaas van dryf om te gebruik, 1605 01:13:01,890 --> 01:13:04,370 want SY is 100% akkuraat, reg? 1606 01:13:04,370 --> 01:13:06,170 Dit is presies wat nommer. 1607 01:13:06,170 --> 01:13:11,910 Vir swaai punte, as jy sê antwoord gelyk aan 1 oor 10-- 1608 01:13:11,910 --> 01:13:14,690 Ek gebeur om dit te presiese het program hier, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 Dit druk tot 20 desimale plekke. 1611 01:13:19,420 --> 01:13:23,270 1 gedeel deur 10, en dat gewoonlik is 0,1, reg? 1612 01:13:23,270 --> 01:13:27,910 Maar hier indien ons dryf en dan loop ons, 1613 01:13:27,910 --> 01:13:30,320 sien ons dat dit is nie presies 0,1. 1614 01:13:30,320 --> 01:13:33,570 Dit is 0,149 iets. 1615 01:13:33,570 --> 01:13:35,570 >> En hoekom is dit? 1616 01:13:35,570 --> 01:13:40,390 Want jy kan nie regtig elke verteenwoordig enkele moontlike reële getal in die geheue 1617 01:13:40,390 --> 01:13:42,730 want daar is uncountably baie van hulle. 1618 01:13:42,730 --> 01:13:48,360 So ons is tegnies net in staat om verteenwoordig 'n beperkte hoeveelheid van hulle 1619 01:13:48,360 --> 01:13:50,470 met 'n beperkte hoeveelheid van die data. 1620 01:13:50,470 --> 01:13:52,050 Maar dit is baie interessant. 1621 01:13:52,050 --> 01:13:54,920 En dit lei tot die kwessie van hoe jy 1622 01:13:54,920 --> 01:13:59,299 gaan verteenwoordig dit met stukkies, reg? 1623 01:13:59,299 --> 01:14:00,340 So hoe gaan dryf gestoor? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 Met heelgetalle was dit maklik. 1626 01:14:03,730 --> 01:14:06,690 Maar met dryf jy wil hê die reeks te vergroot, 1627 01:14:06,690 --> 01:14:10,530 en jy wil in staat wees om te verteenwoordig groot getalle en baie klein getalle soos 1628 01:14:10,530 --> 01:14:14,210 0.000001 op dieselfde tyd. 1629 01:14:14,210 --> 01:14:15,180 So weer, dieselfde spel. 1630 01:14:15,180 --> 01:14:20,470 Is daar iemand enige idee hoe ons kon gaan verteenwoordig float in die geheue? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 Gooi net iets. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 Ja, asseblief. 1635 01:14:30,856 --> 01:14:33,552 >> Publiek: [onhoorbaar] as As dit was twee SY en een 1636 01:14:33,552 --> 01:14:36,890 synde die [onhoorbaar] en een wese alles na die desimale punt. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, cool. 1638 01:14:37,640 --> 01:14:40,300 So twee verskillende heelgetalle. 1639 01:14:40,300 --> 01:14:45,260 Jy kan 12.45, so dit is 12 en 45. 1640 01:14:45,260 --> 01:14:45,890 Nice. 1641 01:14:45,890 --> 01:14:46,973 Wat onbekwaam jy gaan om te sê? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 Dieselfde ding? 1644 01:14:49,430 --> 01:14:49,930 Ja? 1645 01:14:49,930 --> 01:14:55,630 >> Publiek: [onhoorbaar] notasie waar jy skei die basis. 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL: Wetenskaplike notasie, ja, dit is gewoonlik wat gebeur. 1647 01:14:58,910 --> 01:15:01,350 So dit is wat die MANTISSA genoem. 1648 01:15:01,350 --> 01:15:06,490 Dit is wat eintlik die nommer, en dan die eksponent 1649 01:15:06,490 --> 01:15:08,780 is net waar die komma is, reg? 1650 01:15:08,780 --> 01:15:13,720 So dit gaan om iets te wees van die vorm 1, 2, 3, 4, 5 keer 10 1651 01:15:13,720 --> 01:15:15,000 na die minus 4. 1652 01:15:15,000 --> 01:15:17,800 Ek het net besef that-- ja, presies. 1653 01:15:17,800 --> 01:15:23,372 En dan is dit 10 tot die minus 4 is gaan definieer waar die komma is, OK? 1654 01:15:23,372 --> 01:15:24,330 In Brasilië gebruik ons ​​skei. 1655 01:15:24,330 --> 01:15:26,795 Hier jy ouens gebruik 'n punt. 1656 01:15:26,795 --> 01:15:27,640 So 'n punt. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> En dit is cool, want dan kan jy fokus baie van jou stukkies oor hierdie man 1659 01:15:34,840 --> 01:15:40,863 hier, op die MANTISSA, en dan is dit gaan jou werklike presisie te wees. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 En jy kan dit doen in desimale of in die binêre stelsel. 1662 01:15:47,175 --> 01:15:49,781 Daar is verskillende maniere om dit te implementeer. 1663 01:15:49,781 --> 01:15:50,280 Vrae? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 Ja? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 Publiek: Hoe baie plekke na die desimale [onhoorbaar]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL: Dit is 'n ingewikkelde vraag, want dit is nooit werklik 100% akkurate, 1670 01:16:12,610 --> 01:16:15,680 want as jy hier nie, want sien sommige getalle dit is 100% akkuraat. 1671 01:16:15,680 --> 01:16:20,350 Ek glo as ons 0,5 hier dit gaan wees 100% akkuraat. 1672 01:16:20,350 --> 01:16:22,220 Dit gaan wees 0,500000. 1673 01:16:22,220 --> 01:16:24,170 So in daardie geval, dit is volmaak. 1674 01:16:24,170 --> 01:16:27,330 Maar in ander gevalle dit is baie minder volmaak. 1675 01:16:27,330 --> 01:16:35,010 In my ervaring, soos tot vier, vyf desimale plekke is redelik akkuraat. 1676 01:16:35,010 --> 01:16:38,300 As jy 'n dubbel, gaan dit wees manier om meer akkuraat is as wat, OK? 1677 01:16:38,300 --> 01:16:42,750 >> ROB BOWDEN: So net om te gooi 'n paar meer konteks op dryf, 1678 01:16:42,750 --> 01:16:46,320 Ek onthou nog nooit 100% hoe die spec van dryf werk eintlik, 1679 01:16:46,320 --> 01:16:52,660 maar ek dink jy altyd onthou wat dryf begin kry slordig. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 Dus is die idee is dat wanneer jy regtig nie, baie groot getalle of regtig, regtig 1682 01:17:00,930 --> 01:17:03,470 klein getalle, ons begin erger en erger 1683 01:17:03,470 --> 01:17:05,860 op die onderskeid tussen twee naby dryf. 1684 01:17:05,860 --> 01:17:09,180 >> So, hoe ek wil om te dink oor is met drywende punt onakkuraatheid, 1685 01:17:09,180 --> 01:17:11,890 Daar is twee dryf wat As ek probeer om dit te spesifiseer 1686 01:17:11,890 --> 01:17:15,150 in C, ten spyte van die feit dat hulle is verskillende getalle, 1687 01:17:15,150 --> 01:17:17,340 hulle gaan wees geïnterpreteer as die dieselfde getal, 1688 01:17:17,340 --> 01:17:19,006 want ons kan nie anders slaan hulle. 1689 01:17:19,006 --> 01:17:20,540 Ons moet dieselfde stukkies te gebruik. 1690 01:17:20,540 --> 01:17:23,220 En so wanneer ons by regtig, regtig groot getalle, 1691 01:17:23,220 --> 01:17:28,460 praat soos 10 tot die 300 of iets is, is dit op daardie stadium 1692 01:17:28,460 --> 01:17:33,240 wat 10 tot 300 of 5 keer 10 tot 300 1693 01:17:33,240 --> 01:17:37,020 kan nie onderskei word uit 7 keer 10 tot 300. 1694 01:17:37,020 --> 01:17:39,660 So dit is 'n mooi groot verskil tussen die twee getalle. 1695 01:17:39,660 --> 01:17:43,830 >> Maar dan wanneer jy af aan die normale omvang dinge, 1696 01:17:43,830 --> 01:17:45,770 jy is geneig om mooi te wees goed op die onderskeid. 1697 01:17:45,770 --> 01:17:49,020 En dan wanneer jy down baie klein, jy is ook weer kry baie sleg. 1698 01:17:49,020 --> 01:17:52,529 Dus, net soos 'n hele klomp van die 0,0000, raak dit baie sleg. 1699 01:17:52,529 --> 01:17:53,820 GABRIEL: Ja, so 'n vinnige nota. 1700 01:17:53,820 --> 01:17:54,670 Nooit doen nie. 1701 01:17:54,670 --> 01:17:57,590 Moet nooit probeer om te vergelyk dryf met behulp van gelykes gelyk, 1702 01:17:57,590 --> 01:18:02,800 want selfs al is hulle byna dieselfde, amper dieselfde is nie dieselfde nie. 1703 01:18:02,800 --> 01:18:06,360 So, wat jy gewoonlik doen, is jy trek hulle neem die absolute waarde van daardie, 1704 01:18:06,360 --> 01:18:12,380 en kyk of dit is kleiner as 0,0001 of iets soos dit, OK? 1705 01:18:12,380 --> 01:18:12,880 En laat afkoel. 1706 01:18:12,880 --> 01:18:16,630 Ek weet 'n baie van die mense het 'n agtergrond in Java, 1707 01:18:16,630 --> 01:18:19,700 veral diegene wat wel AP rekenaarwetenskap, reg? 1708 01:18:19,700 --> 01:18:23,630 En Java is 'n taal wat meestal gebaseer op C, 1709 01:18:23,630 --> 01:18:26,570 dit het 'n paar baie groot verskille. 1710 01:18:26,570 --> 01:18:31,430 Maar vir loops, en as, en dinge soos dat hulle is almal dieselfde sintaksis. 1711 01:18:31,430 --> 01:18:35,240 Ek het 'n paar programme hier aan te toon. 1712 01:18:35,240 --> 01:18:37,050 >> So byvoorbeeld, 'n eenvoudige hallo wêreld. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 Dit is hello world in C, wat jy ouens is beslis vertroud is met, 1715 01:18:46,600 --> 01:18:49,100 en dit en hierdie een is in Java. 1716 01:18:49,100 --> 01:18:53,100 So in Java ons hierdie openbare klas, hello world, 1717 01:18:53,100 --> 01:18:57,050 en openbare statiese nietig hoof, en string argumente. 1718 01:18:57,050 --> 01:18:59,665 Die string argumente gaan verskyn in C baie kort. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 Maar laat ons nie daar gaan nie. 1721 01:19:01,990 --> 01:19:06,060 Nou het ons 'n leemte hier, wat beteken wat hoof is geen argumente neem. 1722 01:19:06,060 --> 01:19:09,220 En dan het ons system.out.println, die en dit is 1723 01:19:09,220 --> 01:19:11,140 soort van die ekwivalent vir printf. 1724 01:19:11,140 --> 01:19:17,150 Hier het ons nie regtig die backslash nodig nie N omdat druk ln doen dit vir jou. 1725 01:19:17,150 --> 01:19:19,680 Dit voeg daar agteroorskuisstreep N aan die einde van die lyn. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> Maar as jy gaan in iets soos 'n vir jy 1728 01:19:30,415 --> 01:19:32,590 kan sien dat hulle pretty much dieselfde ding. 1729 01:19:32,590 --> 01:19:37,390 So inisialisering, en die toestand, en die werk 1730 01:19:37,390 --> 01:19:42,050 is-- ek gemis het 'n ruimte here-- hulle pretty much dieselfde ding, behalwe Java 1731 01:19:42,050 --> 01:19:44,430 het as 'n paar hoë vlak dinge. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 Hier kan ons doen plus ek en Java outomaties 1734 01:19:49,610 --> 01:19:52,730 maak dit Ek hier, wat 'n heelgetal is, in 'n string, 1735 01:19:52,730 --> 01:19:55,200 en dan voeg die twee stringe saam. 1736 01:19:55,200 --> 01:19:57,570 Hier in C wat ons moet doen om die &% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 Die lyn hier, die vir lyk presies dieselfde. 1739 01:20:18,170 --> 01:20:37,760 >> En as ons kyk na as die ifs kyk ook presies dieselfde, reg? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 Dus is die werklike groot verskille in die dinge wat jy hier sien. 1742 01:20:44,650 --> 01:20:47,530 Openbare statiese, nietig en dan openbare klas as. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 So Java het wat bekend as 'n virtuele masjien. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 En dit is baie swaar op grond van wat genoem objekgeoriënteerde programmering, 1747 01:21:00,150 --> 01:21:04,120 Dit is 'n baie, baie algemeen paradigma vir ontwikkeling deesdae. 1748 01:21:04,120 --> 01:21:10,870 En hierdie klas ding is wat jy sien, iets van objekgeoriënteerde, 1749 01:21:10,870 --> 01:21:14,214 is jy 'n klas en dan moet jy kan lei voorwerpe van die klas. 1750 01:21:14,214 --> 01:21:16,380 Ons is nie van plan om te praat veel oor wat in CS50, 1751 01:21:16,380 --> 01:21:18,213 maar dit is beslis iets regtig cool, 1752 01:21:18,213 --> 01:21:21,440 veral as jy wil om te gaan in meer gesofistikeerd web ontwikkeling 1753 01:21:21,440 --> 01:21:24,050 aan die einde van die kursus, soos stuur jou finale projek 1754 01:21:24,050 --> 01:21:26,430 en 'n paar mooi raamwerke en dinge. 1755 01:21:26,430 --> 01:21:31,250 >> So basies die idee is dat jy wil nie iets weer te implementeer, 1756 01:21:31,250 --> 01:21:36,330 sodat jy iets wat ons skep baie generiese, soos die vorm, 1757 01:21:36,330 --> 01:21:38,310 en dan moet jy skep verskillende vorms van dit, 1758 01:21:38,310 --> 01:21:40,240 en dan van elke hierdie vorms, skep jy 1759 01:21:40,240 --> 01:21:45,110 'n paar meer spesifieke vorms in drie dimensies of iets soos dit. 1760 01:21:45,110 --> 01:21:48,799 En hulle het hierdie hiërargie hulle erf van die ander kinders, so 1761 01:21:48,799 --> 01:21:51,840 alle funksies en alle veranderlikes wat die groot vorm hier het al hierdie 1762 01:21:51,840 --> 01:21:54,110 gaan hê, en almal van hulle is gaan, en so aan en so meer. 1763 01:21:54,110 --> 01:21:55,640 So wat is die basiese idee. 1764 01:21:55,640 --> 01:21:59,170 >> C het nie dit nie, maar C ++ beteken het dat die soort van funksie. 1765 01:21:59,170 --> 01:22:02,710 En Java is swaar beïnvloed deur voorwerp geaardheid, 1766 01:22:02,710 --> 01:22:05,310 so dit is waarom jy sien klas hier al die tyd. 1767 01:22:05,310 --> 01:22:10,790 En die ander ding is hierdie Java virtuele masjien. 1768 01:22:10,790 --> 01:22:13,790 So dit, dink ek, is 'n baie slim idee. 1769 01:22:13,790 --> 01:22:17,020 So, wat die mense wat uitgevind Java gedoen is 1770 01:22:17,020 --> 01:22:19,630 hulle wou nie hulle kode stel twee keer 1771 01:22:19,630 --> 01:22:23,990 As hulle het dit uit te voer in 'n Windows, of 'n Mac of Linux, so wat hulle doen 1772 01:22:23,990 --> 01:22:26,740 word hulle letterlik hardloop iets soos die toestel, 1773 01:22:26,740 --> 01:22:29,630 maar jy het nie regtig sien dit gebeur. 1774 01:22:29,630 --> 01:22:32,430 Sodat hulle loop 'n virtuele masjien binnekant van jou rekenaar, wat 1775 01:22:32,430 --> 01:22:34,940 is basies soos 'n mini-bedryfstelsel. 1776 01:22:34,940 --> 01:22:37,920 En dat bedryfswins stelsel se doel in die lewe 1777 01:22:37,920 --> 01:22:41,430 is net om te hardloop wat byte kode genoem. 1778 01:22:41,430 --> 01:22:47,411 >> So in plaas van in C, die manier waarop ons wil stel dit maak indien, en dan loop 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 Ek het vergeet om die backslash in. 1782 01:22:55,290 --> 01:23:00,240 In Java, sou jy eerste doen Java C om dit te stel, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 Dit is nie C. Dit se dot Java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 En dan moet jy moet hardloop nie ./. 1787 01:23:12,140 --> 01:23:15,440 Jy kry hierdie nuwe lêer if.class, maar jy kan nie regtig 1788 01:23:15,440 --> 01:23:17,980 hardloop if.class nou net soos ons gedoen het voor. 1789 01:23:17,980 --> 01:23:19,440 Dit is nie 'n uitvoerbare. 1790 01:23:19,440 --> 01:23:20,630 Jy het om te hardloop. 1791 01:23:20,630 --> 01:23:23,410 Jy het dit in te voer 'n program genaamd Java, 1792 01:23:23,410 --> 01:23:28,260 en die program is die virtuele masjien, en dan doen jy if.class, of indien. 1793 01:23:28,260 --> 01:23:28,760 Ja. 1794 01:23:28,760 --> 01:23:30,890 En dan is dit werk. 1795 01:23:30,890 --> 01:23:33,740 OK so dit is 'n soort van die virtuele masjien gebeur. 1796 01:23:33,740 --> 01:23:37,700 C nie daardie, so as ek sit hierdie program in 'n Windows-masjien, 1797 01:23:37,700 --> 01:23:40,516 dit sal nie werk in C. In Java dit doen nie. 1798 01:23:40,516 --> 01:23:41,015 Vrae? 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 Dit is as vir super artikel vir vandag. 1802 01:23:47,160 --> 01:23:49,462