1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB Bowden: CXi tio estas la pli komforta sekcio, 3 00:00:13,351 --> 00:00:16,309 sed tio ne signifas ke se vi sentas kiel vi estas ne pli komforta 4 00:00:16,309 --> 00:00:18,420 vi ne lernas tion ĉi tie. 5 00:00:18,420 --> 00:00:20,600 Do ni komencu. 6 00:00:20,600 --> 00:00:22,819 Ĉu vi havas diapozitivoj iri rekte en aferoj. 7 00:00:22,819 --> 00:00:24,360 Ĉu mi volis nur prenu gxin nun? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 Ŝanĝi tekkomputiloj. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> Allison: Vi ne volas prezenti vin, Rob? 12 00:00:32,950 --> 00:00:34,090 >> ROB Bowden: Ho, mi Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 Tiu estas mia kvina jaro TF-Ing CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: Mi estas Gabriel. 17 00:00:39,650 --> 00:00:41,610 Mi kapo TF de CS50. 18 00:00:41,610 --> 00:00:44,009 Mi estis TF lasta jaro kaj ĉi tiu jaro. 19 00:00:44,009 --> 00:00:46,675 Allison: Kaj mi estas Alison kaj ĉi Estas mia dua jaro TF-Ing CS50. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB Bowden: Bone, do tion maldekstre 22 00:00:50,825 --> 00:00:52,250 espereble vi vidis lin antaŭe. 23 00:00:52,250 --> 00:00:54,112 Se ne pro vi elŝuti ĝin por vi mem, 24 00:00:54,112 --> 00:00:55,570 Vi devus esti vidinta lin en prelego. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 Do tio estas la CS50 aparaton, kaj li faris iom de priskribo de ĝi 27 00:01:01,320 --> 00:01:01,880 en prelego. 28 00:01:01,880 --> 00:01:06,890 Sed esence estas nur vi kuras mastruman 29 00:01:06,890 --> 00:01:10,550 sistemo en via mastruma sistemo tiel ke ni povas doni al vi 30 00:01:10,550 --> 00:01:12,540 programoj sen bezoni maltrankviligi, aj estas ĉi 31 00:01:12,540 --> 00:01:15,989 tuj laboros en ambaŭ Vindozo kaj Mac, aŭ se iu el vi 32 00:01:15,989 --> 00:01:17,280 Estas jam uzas Linukson, Linukso. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 Ĝi simple supozis esti komuna ludado 35 00:01:20,240 --> 00:01:23,010 kampo tiel ke ĉiuj havas la sama ĝusta medio. 36 00:01:23,010 --> 00:01:25,344 >> Do se vi havas ne elŝutita ĉi jam, 37 00:01:25,344 --> 00:01:28,510 Vi devas elŝuti ĝin, ĉar vi estas tuj bezonas ĝin por la problemo aro. 38 00:01:28,510 --> 00:01:32,335 Kaj estas du gigabajto elŝuti, do ĝi povus preni momenton. 39 00:01:32,335 --> 00:01:33,780 Sur la Harvard ĝi iros rapide. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 Tiel CS50 aparaton. 42 00:01:37,440 --> 00:01:41,980 >> Nun en la komenco, ni tuj paroli nur bando de komanda linio 43 00:01:41,980 --> 00:01:46,880 stuff, kaj tiel per tio, mi volas diri laboras en ĉi tiu malgranda medio super tie. 44 00:01:46,880 --> 00:01:53,230 Kaj rimarki ĉiuj aferoj Mi diras ĉi tie nun 45 00:01:53,230 --> 00:01:56,900 tuj laboros, se vi estas ene de terminalo ene de la aparato, 46 00:01:56,900 --> 00:02:00,790 aŭ se vi estas en la interno de la gedit terminala fenestro 47 00:02:00,790 --> 00:02:02,090 ene de la aparato. 48 00:02:02,090 --> 00:02:03,770 Do tiuj medioj estas identaj. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> Sed mi estas ironta tria vojo. 51 00:02:07,270 --> 00:02:12,200 Kaj rimarki malsupren tie ĉi iom IP adreso ĉi tie. 52 00:02:12,200 --> 00:02:15,940 Do vi ne devas fari tion, sed ĉi tiu IP 53 00:02:15,940 --> 00:02:19,700 address-- nun se I-- krom ĝi estas blokita de tiu afero. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 OK, do tiu IP-adreso super en terminalo 56 00:02:27,000 --> 00:02:31,090 here-- tiel ĉi stacion super tie estas stacio en mia Mac. 57 00:02:31,090 --> 00:02:34,540 Do tio estas neniel aktuale asociita kun la aparato ajn. 58 00:02:34,540 --> 00:02:39,360 Kaj se vi estas en Vindozo, tiam vi estas tuj bezonos elŝuti ion 59 00:02:39,360 --> 00:02:44,430 specife por ĉi tiu, en aparta homoj emas uzi mastiko, P-U-T-T-Kaj. 60 00:02:44,430 --> 00:02:50,700 >> Do kion mi tuj faros estas tipo SSH kaj tiam tiu IP-adreso. 61 00:02:50,700 --> 00:02:54,030 Nu, jharvard en tiu IP-adreso. 62 00:02:54,030 --> 00:03:00,150 Do 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 Ĉi timigas mesaĝo, ignoru ĝin. 64 00:03:02,127 --> 00:03:02,710 Simple tajpu jes. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 Tio estas CS50 en skatolo. 67 00:03:06,030 --> 00:03:07,460 Petu vian pasvorton. 68 00:03:07,460 --> 00:03:11,910 >> Kaj tiel en multaj el tiuj kuntekstoj kie ĝi petas la pasvorton, [inaudible]. 69 00:03:11,910 --> 00:03:15,670 Ni havas multajn demandojn kie ĝi diras ke estas ne reale tajpi. 70 00:03:15,670 --> 00:03:20,011 Ĝi ne montras al vi la karakteroj de la pasvorton dum vi tajpas, se ion, 71 00:03:20,011 --> 00:03:23,010 por sekureco karakterizaĵo, ĉar se iu rigardas super via ŝultro 72 00:03:23,010 --> 00:03:25,870 kaj ili vidos stelo stelo star stelo, tiam ili 73 00:03:25,870 --> 00:03:28,640 scias ke via pasvorto Estas kvar karakteroj. 74 00:03:28,640 --> 00:03:32,660 Do la ideo estas ĝi petos pro via pasvorto, tipo. 75 00:03:32,660 --> 00:03:34,490 Oni ne tuj montras vi la karakterojn, 76 00:03:34,490 --> 00:03:36,090 sed ĝi estas fakte akcepti ilin. 77 00:03:36,090 --> 00:03:39,210 En tiu kazo, ajna tempo vi iam vidi pasvorton prompt 78 00:03:39,210 --> 00:03:42,280 kontraktanta kun la aparato, la Pasvorto tuj estos karmezina. 79 00:03:42,280 --> 00:03:43,270 Do Crimson. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> Kaj nun tie ene de ĉi fenestro, kio estas en mia Mac, 82 00:03:50,550 --> 00:03:54,120 Mi esence havi la sama ĝusta opinio 83 00:03:54,120 --> 00:03:57,040 kiel ene de terminalo en la aparato. 84 00:03:57,040 --> 00:03:58,470 Do vi ne devas fari tion. 85 00:03:58,470 --> 00:04:01,300 Vi povas fari ĉion, kion vi volas ene de la aparato. 86 00:04:01,300 --> 00:04:05,140 Mi preskaŭ neniam vere fari nenio en la aparato. 87 00:04:05,140 --> 00:04:09,440 Mi preskaŭ ĉiam minimumigi tion kaj nun Mi laboras SSH en la aparato. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> Se io, se vi havas pli malrapidan komputilon, 90 00:04:14,180 --> 00:04:15,820 vi eble rimarkos diferencon. 91 00:04:15,820 --> 00:04:18,839 Mi faros tion, ĉar mi preferas tiu fina fenestro. 92 00:04:18,839 --> 00:04:20,881 Ĝi havas kelkajn trajtojn kiel Mi povas fendi la fenestro, 93 00:04:20,881 --> 00:04:22,672 kaj nun mi povas SSH en tra la aparato. 94 00:04:22,672 --> 00:04:24,105 Mi akiris du SSH okazas samtempe. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 Se via komputilo estas aparte malrapida kaj vi laboras en la aparato, 97 00:04:32,250 --> 00:04:35,200 kaj vi rimarkos ĉi estas vere laggy ajn. 98 00:04:35,200 --> 00:04:38,220 Inklinas esti multe pli rapida se vi SSH-ed en. 99 00:04:38,220 --> 00:04:40,960 Sed alie vi povas labori de ajna maniero. 100 00:04:40,960 --> 00:04:42,388 >> Publiko: Kion SSH signifas? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB Bowden: Secure obusoj, io simila? 103 00:04:47,479 --> 00:04:48,270 Kion SSH signifas? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL: Sekurŝela. 106 00:04:55,130 --> 00:04:56,463 Allison: Estas nur sekura konko. 107 00:04:56,463 --> 00:04:57,720 ROB Bowden: Sekurŝela. 108 00:04:57,720 --> 00:05:03,700 Ĝi estas protokolo kiu you-- estas sekuran protokolon, tiel ĉifrita. 109 00:05:03,700 --> 00:05:06,850 Homoj ne povas Snoop la reto kaj vidi kion vi diras nenion 110 00:05:06,850 --> 00:05:08,120 vi SSH-ed por. 111 00:05:08,120 --> 00:05:12,900 Kaj fakte, en la antikva tagoj de CS50, do en 2009 112 00:05:12,900 --> 00:05:19,300 Kiam mi estis novulo, la maniero kiu Vi laboris en CS50 problemo aroj, 113 00:05:19,300 --> 00:05:22,490 Estis vi SSH-ed al iu servilo ke ni donis al vi aliron al, 114 00:05:22,490 --> 00:05:23,497 kaj vi prilaboris tie. 115 00:05:23,497 --> 00:05:25,330 Do vi ne havas tiun grafika aparato. 116 00:05:25,330 --> 00:05:26,160 Vi ne havas gedit. 117 00:05:26,160 --> 00:05:28,930 Vi ne havas ĉiujn tiujn aferojn Vi povus vide punkto kaj klaki. 118 00:05:28,930 --> 00:05:30,346 Vi devis labori en ĉi tiu interfaco. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 Mi preferas labori en ĉi tiu interfaco. 121 00:05:33,716 --> 00:05:36,090 Tiel parto de kion ni iras esti tuj super nun 122 00:05:36,090 --> 00:05:39,560 estas aro da la ordonas ke vi devus 123 00:05:39,560 --> 00:05:42,095 komencu akiri familiara kun la plej Vi iru kune en la kurso. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 Kaj honeste, fojo vin alkutimiĝi al ili, 126 00:05:45,790 --> 00:05:48,220 Estas tiel multe pli rapide labori en tiu medio 127 00:05:48,220 --> 00:05:53,690 ol ĝi estas labori kun buscador, trenante kaj klakante aĵoj. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> Do jen ni estas. 130 00:05:57,210 --> 00:06:01,779 Nun mi ĵus SSH-ed en, ktp la defaŭlta location-- vin 131 00:06:01,779 --> 00:06:04,820 vidis kelkajn el tiuj komandoj en klaso, sed ni transiru ĉiuj ili denove. 132 00:06:04,820 --> 00:06:08,060 La defaŭlta situo ni en estas la hejmo dosierujo. 133 00:06:08,060 --> 00:06:11,520 Kaj dosierujo, nur alia vorto por dosierujo. 134 00:06:11,520 --> 00:06:13,310 Do ni estas en la hejman dosierujon. 135 00:06:13,310 --> 00:06:15,889 Tajpu ls, listigas dosierojn en tiu ĉi dosierujo. 136 00:06:15,889 --> 00:06:17,430 Evidente mi kreis blah.c antaŭe. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 Do ni havos labortabla dosierujo. 139 00:06:20,472 --> 00:06:21,930 Vi rimarkos ke sintaksa kolorigo? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 Luma blua kolorigo indikas dosierujon kaj iradon blanka 142 00:06:32,900 --> 00:06:34,380 indikas nur ebenajxo dosiero. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 Do tuj estos kelkaj aliaj koloroj vi vidos. 145 00:06:37,690 --> 00:06:41,240 Plenumebla dosiero estas probable iri esti verda aŭ io simila. 146 00:06:41,240 --> 00:06:44,820 OK, tial ni estas en la hejman dosierujon. 147 00:06:44,820 --> 00:06:48,970 >> Sed se mi volas iri al malsama dosierujo, kd estas la komando mi volas. 148 00:06:48,970 --> 00:06:52,720 Do ŝanĝas dosierujon, kaj tiam vi pasas la nomo de la dosierujo 149 00:06:52,720 --> 00:06:54,020 ke vi deziras iri en. 150 00:06:54,020 --> 00:06:55,780 Do jen ni havas kvar ebloj. 151 00:06:55,780 --> 00:07:03,397 Mi povos iri al la malŝarĝoj, kaj nun ni vidas jen ĝi ĝisdatigis ĉi parenthetical 152 00:07:03,397 --> 00:07:04,480 diri ke mi estas en ~ / malŝarĝoj. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> Do kio estas supersigno? 155 00:07:06,800 --> 00:07:10,640 Ĝi estas stenografio por via hejmdosierujo. 156 00:07:10,640 --> 00:07:15,260 Do preskaŭ ĉio vi faru tuj kun respekto al via hejma dosierujo, 157 00:07:15,260 --> 00:07:20,620 kaj PWD estas nur komando Mi uzas unufoje en jaro ke 158 00:07:20,620 --> 00:07:22,420 simple presas la aktuala dosierujo. 159 00:07:22,420 --> 00:07:25,730 Do vi vidas tie ~ / Malŝarĝoj vere solvas 160 00:07:25,730 --> 00:07:26,896 por / home / jharvard / malŝarĝoj. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 Do / home / jharvard estas mia hejmo dosierujo. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Do ni povas kd ŝprucas punkto. 165 00:07:39,400 --> 00:07:47,800 Nun dot dot estas speciala dosierujo ke ĉiam referencas al la dosierujo supren. 166 00:07:47,800 --> 00:07:51,730 Do se mi estas en ~ / malŝarĝoj, tiam kd dot dot tuj kondukos min al supersigno. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 Kion ni pensu kd dot dot tuj alportos al mi nun? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 Ĝi alportos min / home. 171 00:08:00,570 --> 00:08:04,450 Do supersigno per print laborista dosierujo, Mi estas nun / home / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 unu dosierujon el tio, nun diras tie / home. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> Nun kd dot dot. 176 00:08:17,180 --> 00:08:20,910 Nun mi estas en la radika dosierujo, kaj vi ne povas fari ĝin denove. 177 00:08:20,910 --> 00:08:23,340 Vi nur resti en la radika dosierujo ĉiam. 178 00:08:23,340 --> 00:08:26,700 La radika dosierujo havas tutan faskon da aferojn, se vi volas enrigardi, 179 00:08:26,700 --> 00:08:27,410 vi povas. 180 00:08:27,410 --> 00:08:29,700 Ekzemple, se mi iros en Bin, kiu enhavas 181 00:08:29,700 --> 00:08:35,789 ĉiuj tiuj binaraj, kiel ls, kaj KD, kaj ĉiuj tiuj aĵoj. 182 00:08:35,789 --> 00:08:38,630 Do tiuj komandoj devas ekzistas ie en la sistemo, 183 00:08:38,630 --> 00:08:40,820 kaj ĝi estas en la dosierujo / bin dosierujon. 184 00:08:40,820 --> 00:08:44,530 Sed preskaŭ ĉio vi estas tuj estos de via hejmdosierujo. 185 00:08:44,530 --> 00:08:49,490 Kaj cd sen argumentoj ajn, Vi povus diri cd ~, ne bezonas. 186 00:08:49,490 --> 00:08:51,810 kd tuj venigu vin reen al via hejma dosierujo. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> Unu lasta. 189 00:08:54,230 --> 00:09:00,200 cd - tuj revenigos vin la lasta dosierujo ke vi estis en. 190 00:09:00,200 --> 00:09:04,080 Do mi simple cd'd dufoje en vico, do mia lasta dosierujo estis la hejmo dosierujo. 191 00:09:04,080 --> 00:09:11,520 Se mi iras al slash bin, kaj nun ni iru kaj al uzanto. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 Uzanto porcion. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 Ni iru al uzanto kotizo. 196 00:09:15,940 --> 00:09:17,140 Nun mi estas nun en uzanto kotizo. 197 00:09:17,140 --> 00:09:19,320 cd -, reen en bin. 198 00:09:19,320 --> 00:09:22,980 Do tiu akiras aparte utila kiam vi have-- kaj ĝi devos mastrumi. 199 00:09:22,980 --> 00:09:25,660 Tiel uzanto dividas, reen bin, share bin. 200 00:09:25,660 --> 00:09:27,250 >> Do tiu akiras utila. 201 00:09:27,250 --> 00:09:33,150 Vi eble trovos vin havi multajn, multaj, multaj ingita dosierujoj. 202 00:09:33,150 --> 00:09:37,370 Kaj vi volas fari ion reala rapida en supran dosierujo. 203 00:09:37,370 --> 00:09:40,330 Vi iros al tiu dosierujo, fari ŝanĝoj kaj da tio, 204 00:09:40,330 --> 00:09:42,400 kaj nun vi volas iri reen al kie vi estis. 205 00:09:42,400 --> 00:09:43,660 cd -. 206 00:09:43,660 --> 00:09:47,320 Mi ĉiam frustrita kiam mi hazarde iros 207 00:09:47,320 --> 00:09:49,630 al tiu dosierujo mi volis fari laboron en. 208 00:09:49,630 --> 00:09:52,670 Mi ĉiam ricevas frustrita kiam mi faris en du ŝtupoj anstataŭ unu paŝon, 209 00:09:52,670 --> 00:09:55,715 ĉar tio signifas ke cd - tuj venigi en tiu meza situo 210 00:09:55,715 --> 00:09:57,010 anstataŭ kie mi volas iri. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> Do ni vidas ĉiujn listo dosierojn. 213 00:10:01,450 --> 00:10:03,300 Ni scias kiel akiri ĉirkaŭ ĝis nun. 214 00:10:03,300 --> 00:10:09,900 Do nun ni parolu pri redaktado dosierojn. 215 00:10:09,900 --> 00:10:18,790 Do en ĉi tiu kurso, vi estas preskaŭ ĉiam atendis uzi gedit. 216 00:10:18,790 --> 00:10:24,410 Se vi volas, vi povas preni la sekva paŝo kaj komencu lerni komandlinio teksto 217 00:10:24,410 --> 00:10:25,240 redaktoro. 218 00:10:25,240 --> 00:10:27,560 Tiel diversaj ebloj ekzistas. 219 00:10:27,560 --> 00:10:31,760 >> Kaj tiuj, kiuj estas probable tuj estos taŭga por vi, 220 00:10:31,760 --> 00:10:35,340 ni havos Nano, Vim, kaj Emakso. 221 00:10:35,340 --> 00:10:40,196 Do Nano estas la komencantoj komandlinio tekstoredaktilo. 222 00:10:40,196 --> 00:10:42,985 Do Nano ni iru blah.c mi kreis pli frue. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 Estas nur tiu normo C dosiero. 225 00:10:46,480 --> 00:10:51,540 Kaj vi vidos tutan faskon da taskoj okazas ĉe la malsupro de la ekrano, 226 00:10:51,540 --> 00:10:54,100 kaj ŝajne blah.c enhavas ĉi C kodon. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> Do en tiu aparta redaktilo, kio ĝi estas diras la bottom-- 229 00:11:00,330 --> 00:11:06,290 nun ĉi caret simbolo, vidas ĉi ^ G, ^ X, ^ ho. 230 00:11:06,290 --> 00:11:10,310 Tiel ke en preskaŭ ĉiuj kunteksto ke vi vidas, 231 00:11:10,310 --> 00:11:13,530 vi eble vidos ke caret simbolo aliaj lokoj en linio, sur Stack Overflow, 232 00:11:13,530 --> 00:11:14,450 io simila. 233 00:11:14,450 --> 00:11:16,970 Ĝi preskaŭ ĉiam aludas kontroli. 234 00:11:16,970 --> 00:11:21,590 Do por eliri mi volas fari Kontrolo X. Kontrolo X, eliroj. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 Kaj mi povas uzi mian sagon ŝlosilojn movi ĉirkaŭe. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 Rimarku ke mi ne povas noti kaj klaku senhezite. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 Vi devas uzi vian sagon ŝlosilojn movi ĉirkaŭe. 241 00:11:35,010 --> 00:11:36,950 Tie povus esti opcio atentigi kaj alklaki. 242 00:11:36,950 --> 00:11:40,000 >> Sed ni faru kelkajn ŝanĝojn. 243 00:11:40,000 --> 00:11:42,100 Nun Kontrolo X iri eliron. 244 00:11:42,100 --> 00:11:44,120 Ĝi tuj diri krom modifita bufro. 245 00:11:44,120 --> 00:11:47,900 Nun la prompto, y por jes, n por neniu. 246 00:11:47,900 --> 00:11:49,900 Kontrolo C por nuligi. 247 00:11:49,900 --> 00:11:50,780 Mi nur diru jes. 248 00:11:50,780 --> 00:11:51,709 Dosiera nomo skribi. 249 00:11:51,709 --> 00:11:53,500 La defaŭlta estas la dosieron ke ŝi jam estas. 250 00:11:53,500 --> 00:11:54,230 Hit eniri. 251 00:11:54,230 --> 00:11:54,740 OK. 252 00:11:54,740 --> 00:11:58,580 Nun mi ĵus redaktis tiun dosieron: savis ŝin, kaj ĝi ŝanĝis. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> Do Nano estas la plej facila tekstoredaktilo kutimiĝos. 255 00:12:03,000 --> 00:12:05,520 La alternativoj estas Vim kaj Emakso. 256 00:12:05,520 --> 00:12:11,250 Tiuj estas pli alta nivelo de teksto redaktiloj kiu havas tre kruta lernado kurbo. 257 00:12:11,250 --> 00:12:13,740 Do mia persona prefero estas Vim. 258 00:12:13,740 --> 00:12:17,175 Kaj ĝi havas ampleksan varion de ebloj. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 Kaj kiam vi kutimiĝos por tio, ke vi neniam 261 00:12:24,070 --> 00:12:26,900 volas iri al iu ajn alia tekstoredaktilo ĉar vi simple 262 00:12:26,900 --> 00:12:29,590 havi tantas aĵoj disponeblaj al vi en tiuj, 263 00:12:29,590 --> 00:12:31,690 sed prenas vere longan tempon por lerni. 264 00:12:31,690 --> 00:12:36,000 Do eble vi simple volas devigi mem nun alkutimiĝi al ĝi, 265 00:12:36,000 --> 00:12:38,130 sed mi dirus ke valoras ĝin. 266 00:12:38,130 --> 00:12:39,660 Sed estas malfacile. 267 00:12:39,660 --> 00:12:41,220 >> Kaj tiam Emakso. 268 00:12:41,220 --> 00:12:44,940 Mi ĉiam luktas en Emacs ĉar Mi scias kiel fari absolute nenion. 269 00:12:44,940 --> 00:12:47,755 Ŝajne Emakso ne defaŭlte instalita sur la aparato. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 Ni probable aldonu ke kiel defaŭltan instalaĵoj. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 Unufoje vi lernas unu de Vim aŭ Emacs, ekzistas 274 00:13:02,390 --> 00:13:04,810 neniu konvinka kialo iam lernos la aliajn, 275 00:13:04,810 --> 00:13:07,570 sed estas tute malsama stilo. 276 00:13:07,570 --> 00:13:10,460 OK do tio redaktado tekstajn dosierojn. 277 00:13:10,460 --> 00:13:13,374 >> Publiko: Se vi estas ŝtopita en Vim nun, kiel fari we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB Bowden: Estas multnombraj manieroj en Vim, 280 00:13:20,800 --> 00:13:23,770 kaj ekzistas tuta tutoriales sur lernanta Vim. 281 00:13:23,770 --> 00:13:27,390 Do se vi hazarde estos en insert mode por 282 00:13:27,390 --> 00:13:29,930 tajpi tekston, kiun vi povas eniru kiuj diversmaniere, 283 00:13:29,930 --> 00:13:31,610 sed mi estas kiel vi eniri insert mode. 284 00:13:31,610 --> 00:13:34,780 Aŭ eliri de ajna speciala mode ke vi estas en, simple Escape. 285 00:13:34,780 --> 00:13:37,640 Kaj vi nur Bash Escape akiri el ajna ingita modaloj vian in. 286 00:13:37,640 --> 00:13:40,360 Nur OK, nun mi estas denove en normala reĝimo. 287 00:13:40,360 --> 00:13:43,790 >> Kaj tiel en normala reĝimo, dupunkto. 288 00:13:43,790 --> 00:13:45,160 Vi vidas aperi ĉe la malsupro. 289 00:13:45,160 --> 00:13:46,240 Kaj tiam q. 290 00:13:46,240 --> 00:13:52,600 Do q estos liberaj se vi faris ŝanĝojn, kio I-- Mi faris ŝanĝojn? 291 00:13:52,600 --> 00:13:54,180 Mi faris ŝanĝojn ŝajne. 292 00:13:54,180 --> 00:13:57,264 Do se vi faris ŝanĝojn, ĝi estos diru vi povas meti Krisigno. 293 00:13:57,264 --> 00:13:58,430 Mi iras al nomi tion bang. 294 00:13:58,430 --> 00:14:02,040 Do vi povas meti malpermeson je justaj forlasi sen fari ion, 295 00:14:02,040 --> 00:14:04,520 aŭ dupunkto wq savos kaj senkulpa. 296 00:14:04,520 --> 00:14:06,580 Do w ĝenerale estas skribi. 297 00:14:06,580 --> 00:14:08,300 Do skribi la dosieron. 298 00:14:08,300 --> 00:14:09,810 Mi povas skribi kaj senkulpa. 299 00:14:09,810 --> 00:14:13,606 Aŭ vi povus havi nur qx slam q bang simple 300 00:14:13,606 --> 00:14:16,230 eliri de tie sendistinge de ĉiuj ŝanĝoj kiujn vi faris. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> Bone, do nun ni go-- povas krei dosierojn. 303 00:14:28,940 --> 00:14:30,890 Komencu forigo dosierojn. 304 00:14:30,890 --> 00:14:35,450 Kaj mi simple ĵeti en unu rapida nova komando, tuŝo. 305 00:14:35,450 --> 00:14:38,200 Do tuŝi foo. 306 00:14:38,200 --> 00:14:39,340 Touch stangon. 307 00:14:39,340 --> 00:14:40,220 Tuŝi Rabado. 308 00:14:40,220 --> 00:14:42,810 Se mi ls, nun ni vidas ke tiuj dosieroj ekzistas. 309 00:14:42,810 --> 00:14:44,315 Ili estas tute malplena. 310 00:14:44,315 --> 00:14:47,178 Do takto estas nur facila vojo de unu, [inaudible]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 Du, teknike nur stato tio, ĝi ĝisdatigas la timestamps. 313 00:14:54,640 --> 00:14:58,470 Do neniu dosiero kiun vi kreas havas kun tempstampo asociita kun ĝi. 314 00:14:58,470 --> 00:15:01,330 Do Baz estis kreita Septembro 14, je 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 Estas nun 16:22, do se Tuŝas Baz denove, ni 317 00:15:06,670 --> 00:15:11,420 vidu, Baz estis plej ĵus redaktita je 16:22. 318 00:15:11,420 --> 00:15:17,680 Sed alie mi preskaŭ neniam rigardi la timestamps en dosieroj. 319 00:15:17,680 --> 00:15:20,490 Do tuŝu, tie mi simple uzante ĝin krei iujn rapidajn dosierojn. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> Bone, do nun rm estas komando kiu ni zorgas proksimume tie. 322 00:15:27,400 --> 00:15:28,665 Kaj ni povas RM boo. 323 00:15:28,665 --> 00:15:31,000 Diru forigu regulaj malplena dosiero boo. 324 00:15:31,000 --> 00:15:34,070 Kaj ni povas tajpi y, kaj nun ĝi estas eltiru. 325 00:15:34,070 --> 00:15:34,850 rm Rabado. 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 Forigi regulaj malplena dosiero Rabado kaj tipon n por neniu. 328 00:15:38,620 --> 00:15:40,060 Nun ĝi ne estas forigita. 329 00:15:40,060 --> 00:15:41,240 Do trinkejo kaj Baz ankoraŭ ekzistas. 330 00:15:41,240 --> 00:15:42,232 Foo malaperis. 331 00:15:42,232 --> 00:15:43,148 GABRIEL: Konservu parolante. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB Bowden: Granda. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 Do la ĝena mesaĝon tie, forigu regulaj empty-- 336 00:15:50,370 --> 00:15:52,390 kion vi faras tie? 337 00:15:52,390 --> 00:15:54,030 Forigi regulaj malplena dosiero. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 Do, se ni ne volas esti tedita de tiu mesaĝo, 340 00:16:01,610 --> 00:16:05,340 ni povas ĵeti en ĉi -f flago, do tio estas forto. 341 00:16:05,340 --> 00:16:11,330 Kaj nun se mi RM -f, ĝi ne tuj diru ĉu vi volas forigi tiun bildon. 342 00:16:11,330 --> 00:16:12,040 Ĝi havos nur faru ĝin. 343 00:16:12,040 --> 00:16:13,720 Kaj ls, mi ne vidas bari tie plu. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> Nun ke estas potenciale danĝera komando. 346 00:16:18,021 --> 00:16:19,020 Ĝi emas ne tro malbona. 347 00:16:19,020 --> 00:16:22,240 Ni revenos en dua kiom ĝi povas akiri vere danĝeraj. 348 00:16:22,240 --> 00:16:28,740 Kaj ni kredas iujn labor-dosierujon. 349 00:16:28,740 --> 00:16:30,880 mkdir, alia ordono. 350 00:16:30,880 --> 00:16:34,880 Do mkdir estas komando kiu faras dosierujo. 351 00:16:34,880 --> 00:16:40,650 Kaj nun por ls vidas ĉi bela lumo blua reliefigis labor-dosierujon. 352 00:16:40,650 --> 00:16:42,295 Mi povas kd en temp. 353 00:16:42,295 --> 00:16:44,590 Kaj mi povas mkdir foo. 354 00:16:44,590 --> 00:16:46,330 kd en foo. mkdir stangon. 355 00:16:46,330 --> 00:16:46,860 kd en trinkejo. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> Do ni vidas ni povas facile akiri en iu bela profunda nestumado. 358 00:16:54,300 --> 00:16:56,385 Nun kiel vi mi forpelus dosierujo? 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 Do se mi simple rekte provi rm, kiel ni faris kun regula dosiero: 363 00:17:03,540 --> 00:17:06,420 rm trinkejo tuj diri ne povas forigi stangon. 364 00:17:06,420 --> 00:17:07,569 Estas dosierujo. 365 00:17:07,569 --> 00:17:10,619 Ekzistas speciala komando por forigo dosierujoj, ia. 366 00:17:10,619 --> 00:17:12,900 Do RMDIR stangon. 367 00:17:12,900 --> 00:17:13,710 Nun trinkejo malaperis. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> OK, do RMDIR mi preskaux neniam uzas. 370 00:17:22,680 --> 00:17:32,220 La kialo being-- nun ni fari regulajn dosiero riglilo tie. 371 00:17:32,220 --> 00:17:34,780 Do RMDIR boo. 372 00:17:34,780 --> 00:17:35,760 RMDIR. 373 00:17:35,760 --> 00:17:36,900 Malsukcesis forigi foo. 374 00:17:36,900 --> 00:17:38,420 Dosierujo ne malplenaj. 375 00:17:38,420 --> 00:17:43,420 Do vi ne povas uzi forigu dir sur dosierujo kiu havas aferojn en ĝi. 376 00:17:43,420 --> 00:17:44,830 >> Do vi havas iujn eblojn. 377 00:17:44,830 --> 00:17:49,780 Vi povas iri al tiu dosierujo, forigi ĉiu manualmente, kaj tiam eliru 378 00:17:49,780 --> 00:17:51,759 kaj RMDIR la dosierujo. 379 00:17:51,759 --> 00:17:53,050 Tio evidente sonas ĝena. 380 00:17:53,050 --> 00:17:55,000 Kio se estas miloj de dosieroj tien? 381 00:17:55,000 --> 00:17:58,119 Nu, vi povus RM *. 382 00:17:58,119 --> 00:17:59,410 Ni parolos pri * en dua. 383 00:17:59,410 --> 00:18:00,870 Ĝi esence signifas cxio. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 Sed eĉ pli bone, do rm -r. 386 00:18:05,470 --> 00:18:10,220 Do rm -r-- en multaj kuntekstoj, -r signifas rekursie, 387 00:18:10,220 --> 00:18:13,810 kiun ni parolos pri kio rekursie per en pluraj semajnoj. 388 00:18:13,810 --> 00:18:18,630 Sed esence signifas través La tuteco de tiu dosierujo 389 00:18:18,630 --> 00:18:20,190 kaj forpreni ĉion. 390 00:18:20,190 --> 00:18:24,420 >> Do rm -r foo tuj diru malsuprenirus en dosierujo foo? 391 00:18:24,420 --> 00:18:25,210 Jes. 392 00:18:25,210 --> 00:18:26,800 Forigi regulaj malplena dosiero foo / trinkejo? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 Jes. 395 00:18:28,540 --> 00:18:29,760 Elpreni dosierujon foo? 396 00:18:29,760 --> 00:18:30,260 Jes. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 Do nun Foo kaj ĉiu en ĝi estis forigita. 399 00:18:35,020 --> 00:18:42,370 >> Nun ke ili povas akiri aparte ĝena when-- ni tusxu 1 tuŝi 2, tuŝi 3. 400 00:18:42,370 --> 00:18:44,400 Povus havi tuta aro da dosieroj. 401 00:18:44,400 --> 00:18:49,060 Se mi volus, mi povus krei miloj de dosieroj tien. 402 00:18:49,060 --> 00:18:53,340 Kaj rm -r foo tuj esti bela ĝena. 403 00:18:53,340 --> 00:18:55,374 Jes, jes, jes, jes, jes, jes. 404 00:18:55,374 --> 00:18:57,540 Kun multe pli dosieroj rapide vidi kiom da fojoj 405 00:18:57,540 --> 00:18:58,581 Mi devus tajpi jes. 406 00:18:58,581 --> 00:19:02,265 Nu, ni nur vidis antaŭ ni kiel povas forigi bezonante tajpi jes, -f. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 Do mkdir foo kd foo takto 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 OK, do rm -rf foo tuj blinde forigu foo tute. 411 00:19:17,190 --> 00:19:17,960 Neniu prompto. 412 00:19:17,960 --> 00:19:18,650 Neniu ion. 413 00:19:18,650 --> 00:19:20,040 Foo malaperis. 414 00:19:20,040 --> 00:19:23,830 >> Do mi emas uzi tiun ordoni tutan tempon. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 Dirita, estas tre danĝeraj komando, 417 00:19:27,830 --> 00:19:33,240 ĉar se mi faras ion kiel tiu, ĝi ne instigas vin. 418 00:19:33,240 --> 00:19:34,730 Ĝi estos irinta. 419 00:19:34,730 --> 00:19:40,140 Kaj okazas belan ofte, kaj eĉ en pli alta nivelo CS kursoj. 420 00:19:40,140 --> 00:19:42,070 Foje ni vidos io kie iu 421 00:19:42,070 --> 00:19:48,360 Diras mi hazarde niaj rm RF-ed mia hejmo dosierujon kaj ĉiuj miaj P aro estas for. 422 00:19:48,360 --> 00:19:52,422 Kaj estas devastador, sed ne estas rubo povas. 423 00:19:52,422 --> 00:19:54,380 Mankas nenio estas vin por rekuperi. 424 00:19:54,380 --> 00:19:55,330 Ĝi simple malaperis. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 Eĉ pli malbone estus iu kiel rm -rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 Do ni nur diskutis ke radika dosierujo. 429 00:20:01,140 --> 00:20:03,095 Ĝi tenas ĉiujn dosierojn en via sistemo. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 Aĵoj emas akiri bela senorda kiam vi forigas aferojn kiel ls, 432 00:20:07,380 --> 00:20:10,280 kaj KD, kaj ĉiuj el tiuj. 433 00:20:10,280 --> 00:20:15,467 >> Publiko: Kio estas la diferenco inter rm, RF kaj rm * 434 00:20:15,467 --> 00:20:16,300 ROB Bowden: Do rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> Allison: Demando estis kio estas la diferenco inter rm, RF kaj rm *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB Bowden: Do rm *. 439 00:20:25,950 --> 00:20:31,910 Stelo ĝenerale per ĉiuj la enhavo de tiu ĉi dosierujo. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 Provante elpensi aliajn manieroj montri stelo. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 Nu, star fakte ĝenerale signifas konvenas iun skemon. 444 00:20:44,780 --> 00:20:54,930 Do se mi havas dosieron nomatan dog1, tuŝi dog2, tuŝi cat1, tuŝi cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 Do ls * 1 tuj presi cat1 kaj dog1, ĉar tiu stelo povas esti plenigita 447 00:21:02,110 --> 00:21:06,270 en with-- unu devas esti tie, sed stelo povas esti aux kato aŭ hundo. 448 00:21:06,270 --> 00:21:07,247 Ĝi estas sovaĝa karto. 449 00:21:07,247 --> 00:21:08,580 Tio estas la vorto mi serĉas. 450 00:21:08,580 --> 00:21:09,120 Ĵokero. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 Aŭ mi povus ls hundo * kaj Mi alvenis al vidi dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 Do tiuj estas printi la dosierojn kiuj kongruas tiu aparta modelo. 454 00:21:16,870 --> 00:21:18,150 Vi povas uzi ls tiamaniere. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * stelo egalas nenion. 457 00:21:22,020 --> 00:21:25,710 Do tuj presi ĉiujn La enhavo de ĉi tiu dosierujo 458 00:21:25,710 --> 00:21:27,290 ĉar ĉiuj el ili egalas. 459 00:21:27,290 --> 00:21:30,130 Oni ne tuj presi ion en supra nivelo dosierujoj. 460 00:21:30,130 --> 00:21:38,680 Se mi havas sub dosierujo, foo kaj tuŝi 1 2 3-- do nun se rm * stelo, 461 00:21:38,680 --> 00:21:41,450 forigu cat1, cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 Ne povas forigi foo. 463 00:21:42,340 --> 00:21:43,090 Estas dosierujo. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> Do stelo ekspansiiĝas al ĉiuj dosierojn en la dosierujo. 466 00:21:50,340 --> 00:21:55,210 Do teknike rm * estas kiel diri rm cat1, cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 Dum rm -rf, teknike stelo plenumi kion ni volas, sed rm -rf-- 468 00:22:03,630 --> 00:22:06,090 se mi eliros el ĉi dosierujo, rm -rf temp, 469 00:22:06,090 --> 00:22:08,890 kiuj tuj iras en temp kaj rekursie forigu ĉio. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> Do stelo estas separata en tiu tiu komprenas by-- tiom tion 472 00:22:21,060 --> 00:22:25,090 ke mi enkuris, tion kiu instigante min pro komandoj 473 00:22:25,090 --> 00:22:28,770 kaj poste ekzekuti kaj farante ili, mi nomas mia konko. 474 00:22:28,770 --> 00:22:31,930 Kaj tiel ĉi konko estas sin programo. 475 00:22:31,930 --> 00:22:35,010 Se mi volus, mi povis kuri en / bin / bash. 476 00:22:35,010 --> 00:22:36,930 La ŝelo estas nomita bash. 477 00:22:36,930 --> 00:22:39,340 Kaj nun ni rimarkos ion estas iomete ŝanĝita, 478 00:22:39,340 --> 00:22:42,200 kaj tio estas pro miaj agordoj por la ŝelo estas iom malsama. 479 00:22:42,200 --> 00:22:45,415 >> Sed nun mi teknike kurante konko en mia originala konko, 480 00:22:45,415 --> 00:22:49,570 kaj mi povas eliri tiu konko, kaj nun Mi revenis al mia supera nivelo konko. 481 00:22:49,570 --> 00:22:55,240 La celo de diri ke is-- la stelo. 482 00:22:55,240 --> 00:22:59,020 Do la stelo estas io komprenita de bash. 483 00:22:59,020 --> 00:23:04,260 Do rm -rf, -rf flago estas komprenita por ĝuste rm. 484 00:23:04,260 --> 00:23:06,380 Ĝi scias ke kiam vi pasi -rf ke vi 485 00:23:06,380 --> 00:23:09,520 volas ĝin rekursie forigu ĉiuj dosieroj sen instigante. 486 00:23:09,520 --> 00:23:13,960 La stelo estas io komprenata per bash ke kiam vi diras rm *, 487 00:23:13,960 --> 00:23:16,890 bash ne tuj diri hey rm *, forigu stelo. 488 00:23:16,890 --> 00:23:21,010 Bash estas dironta rm * forigu cat1, cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 Ĝi estas aŭtomate tuj pligrandigi ĉiujn dosierojn en la dosierujo. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> Kaj simile supersigno estas alia simbolo ke bash komprenas. 492 00:23:33,140 --> 00:23:37,130 Kiam vi diras cd ~, bash ekspansiiĝas ke via hejmdosierujo. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 Aliaj demandoj ĝis nun? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 OK tial ni tuj komencos iri rapida. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Langeto finaĵo. 499 00:23:48,545 --> 00:23:49,670 Simple ĵeti ĝin tie. 500 00:23:49,670 --> 00:23:51,530 Multaj homoj ne realigi ĉi ekzistas. 501 00:23:51,530 --> 00:23:55,060 Do se mi tajpas kd Dow, mi volas iri en malŝarĝoj. 502 00:23:55,060 --> 00:23:56,700 Mi ne bezonas tajpi nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 Mi povas nur batis Tab. 505 00:24:00,770 --> 00:24:03,794 Do ĝi rekonas ke Dow estas prefikso, kiu 506 00:24:03,794 --> 00:24:05,710 ne kongruas ion alie en tiu dosierujo, 507 00:24:05,710 --> 00:24:07,520 do ĝi kompletigos ke por vi. 508 00:24:07,520 --> 00:24:08,610 Nun mi povas eniri. 509 00:24:08,610 --> 00:24:10,110 >> Mi ankaŭ faras tion rekursie. 510 00:24:10,110 --> 00:24:11,205 Do mkdir foo. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Ni iru en foo. 513 00:24:13,300 --> 00:24:14,830 mkdir stangon. 514 00:24:14,830 --> 00:24:17,345 Do reiri al mia hejmo dosierujo, mi povas vidi malŝarĝoj. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 Nun batante langeto denove, aŭtomate tuj plenigi foo. 517 00:24:21,860 --> 00:24:22,880 Ĝi estas la sola dosierujo. 518 00:24:22,880 --> 00:24:25,340 Batante langeto denove, aŭtomate tuj plenigi stangon. 519 00:24:25,340 --> 00:24:26,798 Do nun mi estas en (~ Elŝutoj / foo / trinkejo). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> Do ĉi langeto finaĵo, kiam mi alvenis al oficejo horoj, 522 00:24:31,692 --> 00:24:33,400 kaj mi staras super ies ŝultron, 523 00:24:33,400 --> 00:24:40,470 kaj ili iras rm D-O-W-N-L-O-A-D-S, mi mortas. 524 00:24:40,470 --> 00:24:41,990 Nur langeto, langeto, langeto, langeto. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 Do sendube uzis langeto. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 Kaj simile, kaj malsupren, multaj homoj 529 00:24:49,840 --> 00:24:51,930 nur ke okazis neniam batis supren kaj malsupren. 530 00:24:51,930 --> 00:24:54,870 Ĝi iros tra la antaŭa ordonojn, do se vi simple kuris ion, 531 00:24:54,870 --> 00:24:58,300 kaj vi volas kuri denove, nur teni gxis vi atingos ĝin. 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 >> Tiel rapida, iuj aliaj aĵoj. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 Ni iru returne en temp. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 Ni kredas iujn dosierojn. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 Do en ĉi tie, mi estas nur tuj listo kelkaj vortoj. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 hundo, kato, meow. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 Ni faru hundo, fiŝoj. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 Do nun rep estas tre utilaj komandoj kiujn vi 548 00:25:32,320 --> 00:25:37,820 sercxi tra dosierojn por aparta teksto, 549 00:25:37,820 --> 00:25:40,910 kaj teknike povas fari vere kompleksan esprimojn por ĝi egalas. 550 00:25:40,910 --> 00:25:44,830 >> Do jen, se mi grep, kaj kion mi volas serĉi? 551 00:25:44,830 --> 00:25:49,130 Diru mi serĉado por katoj, kaj Mi volas serĉi ĉiujn tiujn dosierojn. 552 00:25:49,130 --> 00:25:50,650 Do kiel mi faras ĉiujn tiujn dosierojn? 553 00:25:50,650 --> 00:25:51,900 Stelo. 554 00:25:51,900 --> 00:25:54,939 Do en dosiero unu, mi havas katon. 555 00:25:54,939 --> 00:25:56,980 Mi verŝajne povus havi nomis ĝin io bona, 556 00:25:56,980 --> 00:25:59,063 ĉar tio similas linio nombroj aŭ iu. 557 00:25:59,063 --> 00:26:01,590 Sed en dosiero kiun mi havas linion kun kato. 558 00:26:01,590 --> 00:26:04,160 En dosiero du mi havas linion kun kato. 559 00:26:04,160 --> 00:26:07,280 Do nun mi povas rigardi en dosiero kaj vidu Oh Yeah, ke la dosiero ja havis katon. 560 00:26:07,280 --> 00:26:10,210 Notice dosiero tri ne estis egalita ĉar kato ne estas tie. 561 00:26:10,210 --> 00:26:13,882 Mi povas grep por meow. 562 00:26:13,882 --> 00:26:14,840 Nur file du havas meow. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> Do ĉi vi povas kombini, denove, kun -r, kiu 565 00:26:20,640 --> 00:26:23,580 kiel mi diris antaŭe ofte signifas rekursie. 566 00:26:23,580 --> 00:26:29,800 Kaj tial mi povas veni tien, grep -r por ajna petskribon of-- ni redaktanton 567 00:26:29,800 --> 00:26:32,010 ĉi tiu nur ĵeti kato tien. 568 00:26:32,010 --> 00:26:38,800 Do grep -r por ajna petskribo de katon tra tiu ĉi dosierujo. 569 00:26:38,800 --> 00:26:41,600 Kaj tio rekursie serĉu ajnan subdosierujoj. 570 00:26:41,600 --> 00:26:43,940 Do en Rabado, ne estas kato. 571 00:26:43,940 --> 00:26:45,570 En temp / 2, estas kato. 572 00:26:45,570 --> 00:26:47,960 Kaj en temp / 1 ekzistas kato. 573 00:26:47,960 --> 00:26:50,045 Do tio estas serĉanta ene dosierojn. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> Nun vi povas ankaŭ uzi trovaĵo. 576 00:26:55,090 --> 00:26:59,640 Kaj tiel trovi estas specife pri serĉi dosierojn kun donita nomo. 577 00:26:59,640 --> 00:27:02,490 Do ni faru kelkajn pli. 578 00:27:02,490 --> 00:27:03,660 Ni iru en malŝarĝoj. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 Tuŝi dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 Tuŝi cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 Tuŝi cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 Tuŝi catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> Do mi volas trovi ciujn dosierojn kun hundo en la nomo. 589 00:27:23,810 --> 00:27:28,060 Do trovu kaj por la plej longa fojon mi neniam memoris 590 00:27:28,060 --> 00:27:33,760 kiel trovi laboris, ĝis mi fine legi iun kiu faris tiel klara. 591 00:27:33,760 --> 00:27:35,784 Do trovu, aŭtomate rekursie. 592 00:27:35,784 --> 00:27:36,950 Vi ne bezonas pasi -r. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 Do trovu punkto. 595 00:27:39,110 --> 00:27:40,750 Ni ne parolis pri skalara ankoraŭ. 596 00:27:40,750 --> 00:27:44,800 Dum dot dot ĉiam signifas unu dosierujon supren. 597 00:27:44,800 --> 00:27:46,960 Dot ĉiam signifas la aktuala dosierujo. 598 00:27:46,960 --> 00:27:51,390 Do mi povus rm -r pentras en la same mi povas rm -rf *. 599 00:27:51,390 --> 00:27:53,140 Finfine ili plenumonta la samon. 600 00:27:53,140 --> 00:27:56,040 rm -rf dot tuj forigu la tuta aktuala dosierujo. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> OK, kiun mi ne volas fari tie. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 Sed trovi punkto. 605 00:28:04,320 --> 00:28:07,920 Do rekursie serĉo la nuna dosierujo, kaj nun ĉiu 606 00:28:07,920 --> 00:28:14,125 post ĉi estas faskon de flagoj kiu vi uzi ekskludi tion for de reveno. 607 00:28:14,125 --> 00:28:17,250 Do trovu dot revenas ĉiun ke povas trovi de la aktuala dosierujo. 608 00:28:17,250 --> 00:28:19,700 Tiuj estas ĉiuj dosieroj rekursie serĉanta. 609 00:28:19,700 --> 00:28:21,250 Ni vidos en kelkaj el la dua. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> Sed en kazo vi scivolas kiel mi statas ke tia Ordonu K, almenaŭ 612 00:28:27,140 --> 00:28:29,660 en mia stacio en la Mac demetu ĝin. 613 00:28:29,660 --> 00:28:34,660 Kontrolo L ĝenerale demetu por ia ajn fina. 614 00:28:34,660 --> 00:28:36,480 Vi povas ankaŭ tajpi klara. 615 00:28:36,480 --> 00:28:38,410 Kaj se vi neniam en bizara scenario-- 616 00:28:38,410 --> 00:28:42,790 Ĝi okazis al mi paron time-- kie la koloroj de via stimulanta 617 00:28:42,790 --> 00:28:46,590 ĉiuj paneas, aŭ vi ne povas vidi ion ajn 618 00:28:46,590 --> 00:28:51,232 esti tajpita kiam vi tajpas, ĉar kelkfoje kiel fona koloro estas metata 619 00:28:51,232 --> 00:28:53,940 la sama kiel la malfona koloro kaj nun vi ne povas vidi la tiparojn. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 Reset estas iu kiu nur restarigas vin al la defaŭlta nigra fono 622 00:28:59,830 --> 00:29:01,840 blanka fronto, aŭ kio ajn Vi aranĝis ilin. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> Do kie estis ni? 625 00:29:04,790 --> 00:29:05,930 Trovu punkto. 626 00:29:05,930 --> 00:29:09,360 Do nun ĉiu pasinta ĉi punkto limigas la rezultojn 627 00:29:09,360 --> 00:29:11,450 al iu kiu kongruas la donita ŝablono. 628 00:29:11,450 --> 00:29:16,110 Do ĉi tie mi volas serĉi ĉiu kun la nomo kato. 629 00:29:16,110 --> 00:29:17,300 Mi ja nenion. 630 00:29:17,300 --> 00:29:18,390 Kial estas ke la kazo? 631 00:29:18,390 --> 00:29:21,230 Nu, mi simple serĉis iu kun precize la nomon kato. 632 00:29:21,230 --> 00:29:25,150 Se mi volas serĉi ion kiu havas iun modelon, kaj cat-- 633 00:29:25,150 --> 00:29:28,890 la citaĵoj teknike ne estas necesaj, sed mi ĵetis ilin tien. 634 00:29:28,890 --> 00:29:32,720 Do nun trovas catcat ĉar tio estas la sola afero, kiun 635 00:29:32,720 --> 00:29:36,040 havas iom arbitra mastro sekvita kato. 636 00:29:36,040 --> 00:29:41,950 Mi povas meti katon *, kaj nun trovi catcat, cat_dog, cat2, 637 00:29:41,950 --> 00:29:45,245 ĉar tiuj estas ĉiuj aĵoj kun kato komence sekvis nenion. 638 00:29:45,245 --> 00:29:46,120 Vi povas kombini ĉi. 639 00:29:46,120 --> 00:29:50,480 Se vi volas serĉi tutan C dosierojn kiun vi havas, vi plenumadu * .c. 640 00:29:50,480 --> 00:29:51,960 Ni blah.c tie. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 Do tio estas trovaĵo verkoj. 643 00:29:55,020 --> 00:29:55,770 Vi povas serĉi. 644 00:29:55,770 --> 00:29:58,270 Ĝi havas tutan faskon de flagoj por pliaj restriktoj. 645 00:29:58,270 --> 00:30:00,960 Kaj oni ilin, diru -d. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 Do evitinda. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 Ho, tio ne estas kion mi volas. 650 00:30:06,550 --> 00:30:07,730 Ne -d. 651 00:30:07,730 --> 00:30:08,860 Tajpu d. 652 00:30:08,860 --> 00:30:13,820 Do trovu skalara - tipo d. 653 00:30:13,820 --> 00:30:17,760 Do kio ĝuste faris estas mi serĉanta ĉiuj dosierojn en la nuna dosierujo 654 00:30:17,760 --> 00:30:21,680 kun a-- d staras por directory-- dosierujo tipo. 655 00:30:21,680 --> 00:30:24,430 Ĉi revenas ĉiuj subdosierujoj en la nuna dosierujo. 656 00:30:24,430 --> 00:30:27,670 Kaj tipo F estas ĉiuj regulaj dosieroj, ĉiuj ne dosierujoj. 657 00:30:27,670 --> 00:30:29,809 Do tio estas nur Ekzemplo de aliaj manieroj 658 00:30:29,809 --> 00:30:32,350 povas limigi la serĉon aliaj ol la nomo de la dosiero. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> Jam pasis 30 minutoj. 661 00:30:35,570 --> 00:30:36,848 Ankoraŭ iras. 662 00:30:36,848 --> 00:30:38,132 >> Allison: Mi brizo tra. 663 00:30:38,132 --> 00:30:39,670 Glatos. 664 00:30:39,670 --> 00:30:41,460 >> ROB Bowden: Do iuj aliaj aĵoj. 665 00:30:41,460 --> 00:30:45,700 Nun bang, Krisigno. 666 00:30:45,700 --> 00:30:50,530 Tial ĝenerale means-- Nu, ni vidos ekzemplon. 667 00:30:50,530 --> 00:30:52,230 Tiel! F, kio estas ke tuj faros? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 Nu ŝajnas havi ripetita trovaĵo dot -type f. 670 00:30:57,810 --> 00:30:59,240 Kio pri! G? 671 00:30:59,240 --> 00:31:00,760 Ke nur grep -r kato *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 Do bang vi povas uzi ripeti ĵus faris ordonon. 674 00:31:05,720 --> 00:31:13,280 Do se mi tajpas! GRE, ĝi tuj re-run la komandojn kiuj komencis kun GRE plej 675 00:31:13,280 --> 00:31:14,060 ĵus. 676 00:31:14,060 --> 00:31:17,090 >> Kaj vi povas vidi ĉiujn tiujn komandas kun historio. 677 00:31:17,090 --> 00:31:17,880 Do historio. 678 00:31:17,880 --> 00:31:19,630 Tiuj estas ĉiuj ordonojn mi kuri hodiaŭ. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 Kaj bone, tio ne laŭvorte restriktitaj al hodiaŭ, 681 00:31:23,130 --> 00:31:25,180 sed nun, mi nur uzis ĉi aparato de hodiaŭ. 682 00:31:25,180 --> 00:31:28,730 Ĝi estas via tuteco de la historio de via bash ŝelo, 683 00:31:28,730 --> 00:31:30,433 krom mallonga ĉe iu punkto. 684 00:31:30,433 --> 00:31:33,474 Publiko: Kio okazas se vi faras Historio [inaudible] komando kaj eraro 685 00:31:33,474 --> 00:31:35,430 en la rezulto daŭre presi the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB Bowden: Yeah, se ekzistas Eraro en unu el tiuj commands-- 687 00:31:44,110 --> 00:31:48,090 do ni diros, ke estas Eraro komando ne trovita. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 Ankoraŭ aperas en la historio. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 Bone. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 Aliaj demandoj pri io? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 Do tio estas bang. 696 00:32:00,300 --> 00:32:04,230 >> Nun, vere utila komando, viro. 697 00:32:04,230 --> 00:32:07,750 Do kiu donas al vi la manlibro por donita komando. 698 00:32:07,750 --> 00:32:11,640 Tiel diru viro ls, do tio montras min ls. 699 00:32:11,640 --> 00:32:13,400 Ĝi listigas dosierujon enhavon. 700 00:32:13,400 --> 00:32:17,150 Kaj ĉi tiu estas kie mi vidas ke tie estas tiuj diversaj flagoj kiuj ekzistas. 701 00:32:17,150 --> 00:32:21,340 Do ni vidas ke ls -l ekzistas se ni devis legi tion. ls -l 702 00:32:21,340 --> 00:32:26,150 donas al mi ĉi plenan liston de la dosierujo kun kiu posedas la dosieron, 703 00:32:26,150 --> 00:32:29,750 La grandeco de la arkivo, la modifitan tempstampo. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 Do ls -a estas alia ke vi povus vere uzas iom ofte. 706 00:32:34,980 --> 00:32:38,130 -al estas mia plej komuna flago pasinta ls. 707 00:32:38,130 --> 00:32:42,520 >> Do -a, rimarki tie estas multa pli dosierojn ol ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 Kio estas en komuna kun ĉiuj tiuj dosieroj? 710 00:32:46,170 --> 00:32:47,790 Ili komencas per punkto. 711 00:32:47,790 --> 00:32:54,710 Do tiu estas konvencio en Linukso kiu dosierojn kiuj komenciĝas per punkto estas kaŝita. 712 00:32:54,710 --> 00:32:58,330 Do ĝi nur signifas ke kiam ni simple rektaj ls, 713 00:32:58,330 --> 00:33:04,170 aŭ ni serĉas ĉi dosierujo uzante la buscador ekvivalenta, aŭ Vindozo 714 00:33:04,170 --> 00:33:07,250 Esploristo ekvivalento, kiun ni ne volas vidi tiujn dot dosierojn. 715 00:33:07,250 --> 00:33:09,680 Ili simple ne malsanktigos la vido de la aferoj. 716 00:33:09,680 --> 00:33:11,790 Tiel ili restas kaŝitaj Se vi specife 717 00:33:11,790 --> 00:33:14,250 peti ilin kun iu kiel -a. 718 00:33:14,250 --> 00:33:18,920 Do mi povas kd en .local, kaj mi vidos ke tio estas sin dosierujo kun 719 00:33:18,920 --> 00:33:22,220 dividita dosierujo, kaj aplikoj kaj bla bla bla. 720 00:33:22,220 --> 00:33:24,520 Do streketo dosierojn Ili estas nur kaŝita. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> OK, do aliaj gravaj. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 Mi havas paron Mi povas salti. 725 00:33:32,000 --> 00:33:38,160 Ni simple reala rapida diskuto pri La dosiero redirección aĵoj. 726 00:33:38,160 --> 00:33:43,020 Do tie estas tuta kompleksa serio de aĵoj kiujn vi povas fari kun ĉi tiuj, 727 00:33:43,020 --> 00:33:47,204 sed nur por vidi ilin, ni diru, eĥo. 728 00:33:47,204 --> 00:33:47,870 Alia ordono. 729 00:33:47,870 --> 00:33:48,920 Vere muta komando. 730 00:33:48,920 --> 00:33:50,710 Ĉiuj faras estas presita kion mi diros al. 731 00:33:50,710 --> 00:33:52,070 Do eĥon saluton. 732 00:33:52,070 --> 00:33:53,850 Ĝi nur eĥis saluton al la ekrano. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Saluton mondo. 735 00:33:56,390 --> 00:33:57,890 Eĥoj saluton mondo. 736 00:33:57,890 --> 00:34:02,650 >> Do unu komando aŭ simbolo ke bash komprenas 737 00:34:02,650 --> 00:34:07,620 Estas tiu granda ol simbolo, kaj tio estas la eliro al dosiero simbolo. 738 00:34:07,620 --> 00:34:10,940 Do se mi eligo tion foo, ekzistas nun dosiero 739 00:34:10,940 --> 00:34:15,100 nomita foo, interne de kio saluton mondo. 740 00:34:15,100 --> 00:34:18,489 Do rimarkas ke kiam mi eĥon saluton mondo fluto farigxis foo, 741 00:34:18,489 --> 00:34:19,980 ne eĥon saluton mondo. 742 00:34:19,980 --> 00:34:22,630 Anstataŭe ĝi estis metita en dosiero foo. 743 00:34:22,630 --> 00:34:25,340 Kaj alian komandon ĝuste ĵeti ĝin ĉe vi, kato. 744 00:34:25,340 --> 00:34:29,191 Tio estas facila maniero por ĝuste tute listo de la enhavo de la dosiero 745 00:34:29,191 --> 00:34:31,440 por ke mi ne devos malfermi tekstoredaktilo por ĝin vidi. 746 00:34:31,440 --> 00:34:34,159 Do la enhavon de la foo dosiero estas saluton mondo. 747 00:34:34,159 --> 00:34:38,460 Kaj mi povis kato blah.c, La enhavo estas tiu. 748 00:34:38,460 --> 00:34:42,123 >> Denove, tio estas ordonoj ke ne atendi vi havas ilin ĉiujn parkerigis. 749 00:34:42,123 --> 00:34:43,860 La ideo estas ke vi vidis ilin. 750 00:34:43,860 --> 00:34:45,735 Eble vi laboras en io, kaj vi 751 00:34:45,735 --> 00:34:47,230 kiel mi estas malsana de malfermi tiu dosiero. 752 00:34:47,230 --> 00:34:50,120 Mi deziras ke mi povus nur rigardi ĉe la enhavo reala rapida. 753 00:34:50,120 --> 00:34:52,320 Vi povus fari tion, do rerigardi kaj diru ho mi 754 00:34:52,320 --> 00:34:55,250 memori iun kiel kiu ekzistas, kaj ĝi estas kato. 755 00:34:55,250 --> 00:35:00,630 >> Tiel ke tuj dosiero. 756 00:35:00,630 --> 00:35:06,639 Nun ne ekzistas vere neniu bone Ekzemplo de legado de dosiero ankoraŭ. 757 00:35:06,639 --> 00:35:08,930 Kio estas iu kiu prenas ion de normo? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 Ajna simpla Linukso komando? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 Kiam ni atingos ĝin, en paro semajnoj ĉiuj piece-- bone, 762 00:35:16,970 --> 00:35:20,470 tiu semajno vi havas pecon kie komenci prenante enigon el la uzanto. 763 00:35:20,470 --> 00:35:23,696 Do kutime oni tajpas ke enigo en la klavaro. 764 00:35:23,696 --> 00:35:25,570 Anstataŭ tajpante ke enigo en la klavaro, 765 00:35:25,570 --> 00:35:30,950 Vi povas anstataŭ pipon el dosiero tiel ke kiam vi faros Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 pipon el ajna donita dosiero, kaj kiuj tuj kuras la mario programo. 767 00:35:35,200 --> 00:35:37,300 Ne atendante enigo je la klavaro, anstataŭe estas 768 00:35:37,300 --> 00:35:39,650 nur legos la linioj de la foo dosiero. 769 00:35:39,650 --> 00:35:45,230 >> Tiel granda ol foo metas ĝin en la foo-dosiero, kaj malpli ol foo 770 00:35:45,230 --> 00:35:50,170 prenas ŝtofo el la foo dosieron kaj Uzas ke kiel enigo al tiu programo. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 Kaj nur por vidi ĝin, ni povus ankaŭ eĥo foo trinkejo Rabado kaj tiam anstataux unu 773 00:36:00,630 --> 00:36:03,850 granda ol, ni faru du en foo. 774 00:36:03,850 --> 00:36:05,610 Kion tio do? 775 00:36:05,610 --> 00:36:07,180 Ĝi simple appends al la dosiero. 776 00:36:07,180 --> 00:36:15,360 Do anstataŭ rimarkos se mi eĥon bla en foo kaj tiam kato foo, nur bla. 777 00:36:15,360 --> 00:36:18,285 Do kiam vi eliro al dosiero, ĝi tute overwrites tiu dosiero. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 Se vi nur volas alfiksus, duobla [? grader. ?] 780 00:36:22,740 --> 00:36:24,080 >> Kaj lasta estas pipo. 781 00:36:24,080 --> 00:36:29,590 Pipe Gets multe pli komplika, kie Ĝi prenas la eligo de unu komando 782 00:36:29,590 --> 00:36:32,320 kaj nutras ĝin en la sekva komando. 783 00:36:32,320 --> 00:36:36,140 Do iu komuna, historio. 784 00:36:36,140 --> 00:36:37,920 Do, uf, mi ne volas rigardi tion. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 Montru al mi cxiujn ordonojn de mia historio kie mi grep-ed por io. 787 00:36:44,485 --> 00:36:45,360 Ne, tio estas konfuza. 788 00:36:45,360 --> 00:36:50,360 Montru al mi cxiujn ordonojn, kie mi trovu. 789 00:36:50,360 --> 00:36:52,360 Ĉiuj trovos ordonojn mi iam kuris. 790 00:36:52,360 --> 00:36:55,050 >> Do historio. 791 00:36:55,050 --> 00:36:59,017 Nun historio eliroj al la screen ĉi liston de komandoj, 792 00:36:59,017 --> 00:37:00,850 sed mi ne volas eligo ĝin al la ekrano. 793 00:37:00,850 --> 00:37:03,445 Anstataŭe mi tuj pipon ĝin grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 Do ni grep por ĉiuj okazoj de trovaĵo. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 Do nun anstataŭ grep preno la enigo, anstataŭ of-- 798 00:37:17,000 --> 00:37:24,360 grep povas manipuli kiel input-- ni uzante grep iomete malsame tie. 799 00:37:24,360 --> 00:37:29,550 Do anstataŭ tajpi la listo de tion ni volis serĉi 800 00:37:29,550 --> 00:37:31,070 kaj diris grep prenas kiel enigo. 801 00:37:31,070 --> 00:37:34,810 Do, se mi ĝuste grep trovas lin atendu min tajpi tion. 802 00:37:34,810 --> 00:37:37,661 Do kato saluton trovi. 803 00:37:37,661 --> 00:37:38,160 Saluton. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 Trovi. 806 00:37:40,930 --> 00:37:43,670 Rimarki ĉiufoje mi tajpas trovi ĝi rekonas ke mi tajpis trovaĵo. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 Tiel anstataŭ ĉi, volo serĉo dosierojn por trovaĵo. 809 00:37:49,540 --> 00:37:53,930 >> Do historio nun tuj eligo liston de ĉiuj komandoj. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 Ni metas ke elirita, kaj ni nutrante ĝin grep, 812 00:37:58,100 --> 00:38:00,180 kaj tial ĝi estas kraĉi el ĉiuj petskriboj de trovaĵo. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 La kaŭzo mi diris lin estus konfuzanta Estas kvazaŭ I-- estas ankoraŭ konfuza. 815 00:38:05,570 --> 00:38:07,030 Se mi grep por grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 Rimarki estas sufiĉe multe ĉiam montrante la komando Mi simple 818 00:38:11,130 --> 00:38:15,280 kuris ĉar tiu komando mem grep interne. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> OK, do demandojn pri io? 821 00:38:20,674 --> 00:38:22,340 Kaj mi trapasi ĝin super ĉe tiu punkto. 822 00:38:22,340 --> 00:38:24,690 Espereble tiu estas bela ĉefrigardo de ĉiuj komandoj 823 00:38:24,690 --> 00:38:30,100 ke vi ne bezonas havi parkerigis, sed tiuj konsistigas 824 00:38:30,100 --> 00:38:32,950 solida 95% de kion mi fari en la komandlinio. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 Ankaŭ teni en menso ke la komandlinio mem, bash estas programlingvo, 827 00:38:39,140 --> 00:38:43,070 kaj tiel, kiam vi ricevas gxin, vi volus fari vere kompleksaj aferoj. 828 00:38:43,070 --> 00:38:47,522 Kaj tial ĝi havas aĵojn kiel masxojn, oj, kaj ĉiuj el tiuj 829 00:38:47,522 --> 00:38:50,230 ke vi tuj kutimi kun via programlingvoj. 830 00:38:50,230 --> 00:38:53,660 Sed tio estas preter la medio de tiu sekcio. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 OK, do neniu demandoj? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 Allison: None? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: Cxu vi intencas to-- 836 00:38:59,450 --> 00:39:01,158 Allison: Mi povas fari tion sur mia se vi volas. 837 00:39:01,158 --> 00:39:02,626 Ni povas vidi kio okazas. 838 00:39:02,626 --> 00:39:03,750 ROB Bowden: Off Allison. 839 00:39:03,750 --> 00:39:05,090 Allison: Woo. 840 00:39:05,090 --> 00:39:07,504 Vi estas malmola ago sekvi, Rob. 841 00:39:07,504 --> 00:39:08,920 Ĉu vi volas ke mi ŝanĝi kun vi? 842 00:39:08,920 --> 00:39:10,246 Aŭ vi havas, OK. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 Mi provos ne tute esti tiel longa tie. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 Vidu se tiu volo prilabori la vojon mi deziras ĝin. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 Eble? 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 Jes. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> Do mi simple tuj tre rapide iri tra variabloj, loops, conditionals, 854 00:39:34,066 --> 00:39:35,440 kaj iom pri la tradukilo. 855 00:39:35,440 --> 00:39:38,570 Se vi havas demandojn je ajna momento, bonvolu haltigi min. 856 00:39:38,570 --> 00:39:42,750 Tiuj infanoj estos memorigi min ripeti via demando se mi forgesos, 857 00:39:42,750 --> 00:39:44,210 sed ne estu tro malbonaj. 858 00:39:44,210 --> 00:39:45,850 >> Do variabloj, jes. 859 00:39:45,850 --> 00:39:48,060 Ni ne havas unu el viaj Scratch pecoj tie. 860 00:39:48,060 --> 00:39:50,440 Mi certas ke la plimulto de vi, se vi havis ian ludon 861 00:39:50,440 --> 00:39:53,810 ke vi kreis per Scratch, vi havis spuri iun kiel partituro, 862 00:39:53,810 --> 00:39:55,870 aŭ tempo, aŭ io simila. 863 00:39:55,870 --> 00:39:58,080 Do tiuj brilaj oranĝkoloraj pecoj kiujn ni vidas tie 864 00:39:58,080 --> 00:40:02,630 Estas ĝuste la Scratch formo de variabloj, kaj vi certe 865 00:40:02,630 --> 00:40:04,640 esti uzante variabloj en viaj programoj. 866 00:40:04,640 --> 00:40:07,350 Se vi ne estas, mi ne vere certe kion vi faras. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> Sed ĉiuokaze, granda afero, difinanta variabloj. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 Kun C ĉiu variablo havas havi tipon deklarita, 871 00:40:16,970 --> 00:40:22,090 tial mi donis al vi tre Ĝenerale oni ĉe la supro. 872 00:40:22,090 --> 00:40:24,045 Do vi havas vian tajpi kaj tiam ajn 873 00:40:24,045 --> 00:40:25,420 vi decidos voki vian variablon. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 Do en ĉi tiu kazo, tajpu en via variablo listo. 876 00:40:29,680 --> 00:40:31,400 >> Ni havas tri ekzemplojn. 877 00:40:31,400 --> 00:40:34,439 Char iu grado, de A, kiu estas kiu 878 00:40:34,439 --> 00:40:36,230 Mi certas ke vi ĉiuj volas akiri en ĉi tiu klaso. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 Vi povas difini plurajn variabloj sur unu linio 881 00:40:40,670 --> 00:40:43,880 Tiel longe, kiel ili ĉiuj havas la saman tipon, kio estas nia dua ekzemplo tie 882 00:40:43,880 --> 00:40:46,409 kie vi havas tri variabloj x, y, kaj z. 883 00:40:46,409 --> 00:40:47,200 Ili ĉiuj flosoj. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 Kaj tiam vi ankaŭ povas, en tiu lasta Ekzemple kun int partituro kaj nombro 886 00:40:53,250 --> 00:40:56,510 de teamoj, vi povas pravalorizi ili pravas. 887 00:40:56,510 --> 00:41:01,270 >> Do, en la mezo ekzemplo kie ni Nur oni kaleŝego de x, y, kaj z, 888 00:41:01,270 --> 00:41:02,730 Tiuj ne estas inicializado ankoraŭ. 889 00:41:02,730 --> 00:41:04,140 Ili havas neniun valoron. 890 00:41:04,140 --> 00:41:05,600 Aŭ ili rubo valoroj. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 Kaj se vi provas uzi ilin, La tradukilo krias al vi. 893 00:41:10,790 --> 00:41:14,727 Vi devas ambaŭ deklaras kaj pravalorizi viaj variabloj. 894 00:41:14,727 --> 00:41:16,310 Do en ĉi tiu lasta, ni faras ambaŭ. 895 00:41:16,310 --> 00:41:19,320 Ni deklari variablojn de noti kaj nombro de teamoj, 896 00:41:19,320 --> 00:41:24,134 kaj ni inicialización ili, donante ili iliajn komencajn valorojn de 7 kaj 4 897 00:41:24,134 --> 00:41:24,675 respektive. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 Malvarmeta. 900 00:41:27,190 --> 00:41:28,550 CXiu bona? 901 00:41:28,550 --> 00:41:29,470 Awesome. 902 00:41:29,470 --> 00:41:31,690 >> OK, do iuj konvencioj. 903 00:41:31,690 --> 00:41:35,965 Se vi uloj legis tra stilon 50, tiuj 904 00:41:35,965 --> 00:41:39,510 Estas ĝuste tio, ke oni volus por vi implementar en via stilo. 905 00:41:39,510 --> 00:41:41,230 Do signfa nomojn. 906 00:41:41,230 --> 00:41:45,700 Se vi komencas nomante tion nur x, y, kaj z, speciale 907 00:41:45,700 --> 00:41:47,902 kiel vi eniri lengthier programoj, vi estas 908 00:41:47,902 --> 00:41:49,610 probable tuj konfuzi vin mem kaj esti 909 00:41:49,610 --> 00:41:52,930 kiel tio estas tiu variablo raportante al. 910 00:41:52,930 --> 00:41:55,880 Mi havas neniun ideon kio tiu signifas. 911 00:41:55,880 --> 00:41:59,280 >> Do se estas intencis teni partituron, nomas ĝin noti. 912 00:41:59,280 --> 00:42:05,720 Se ĝi estas intencis teni iun respondon aŭ rezulti, donu al li nomon tiel. 913 00:42:05,720 --> 00:42:09,920 Por masxojn, kiun ni volas eniri en la sekvantan diapozitivoj, 914 00:42:09,920 --> 00:42:12,985 sola litero variabloj estas fajna. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB Bowden: mi, j, kaj k estas nur konvenciojn por por maŝojn 917 00:42:18,449 --> 00:42:22,050 ke ĉiu atendas ilin esti nomata i, j, kaj k. 918 00:42:22,050 --> 00:42:26,890 Vi povas nomi them-- mi vidas vicon kolumno aŭ vico alvoko foje 919 00:42:26,890 --> 00:42:29,450 por du ingita masxojn, tio estas ankaŭ speco de normo. 920 00:42:29,450 --> 00:42:31,450 Sed i kaj j estas tute komprenata. 921 00:42:31,450 --> 00:42:33,670 >> Allison: Yeah, i kaj j vi tute bone. 922 00:42:33,670 --> 00:42:36,250 Ĉar pro klareco kiel en iu el viaj P aroj, 923 00:42:36,250 --> 00:42:39,745 eble sencon havi pli priskriba tion en tie nur 924 00:42:39,745 --> 00:42:40,920 spuri ĝin. 925 00:42:40,920 --> 00:42:45,100 Sed mi kredas mi, j, kaj k furaĝo La vasta plimulto de ni ĉiuj uzas. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB Bowden: Kun tiuj konvencioj, do stilo estas grava. 928 00:42:50,340 --> 00:42:53,520 Ĝi estas unu el la kvar aksojn sur kiu vi gradita, 929 00:42:53,520 --> 00:42:58,110 kaj farigxis tiel facile simple transiru via P metita ĉe la fino kaj certiĝu 930 00:42:58,110 --> 00:42:59,770 ke ne estas stila erarojn. 931 00:42:59,770 --> 00:43:01,742 Tiel certigi vi tabbing korekte. 932 00:43:01,742 --> 00:43:03,200 Certiĝu vian variabloj estas nomita. 933 00:43:03,200 --> 00:43:04,450 Forlasi iujn komentojn. 934 00:43:04,450 --> 00:43:06,677 Ĝi estas tre facila por akiri tiujn punktojn. 935 00:43:06,677 --> 00:43:09,510 Vi ne devas pensi ion por akiri tiujn punktojn. 936 00:43:09,510 --> 00:43:11,093 Vi ne devas kompreni ion ajn el. 937 00:43:11,093 --> 00:43:12,640 Estas nur farante ĝin aspektas bela. 938 00:43:12,640 --> 00:43:14,850 >> Allison: Fakte, ni havi stilon 50, kiu 939 00:43:14,850 --> 00:43:17,920 diros al vi kie vi rompado supren se vi rompado en stilo 940 00:43:17,920 --> 00:43:21,180 kaj mi diros al vi precize kion vi bezonas ripari kaj kiel vi bezonos por ripari ĝin. 941 00:43:21,180 --> 00:43:23,900 Estas ankaŭ nur bonon mencii ke estas supozita politiko 942 00:43:23,900 --> 00:43:27,200 ke se vi estas ĉe oficejo horoj kaj via kodo estas katastrofo, 943 00:43:27,200 --> 00:43:30,200 ni povas declinar helpi vi ĝis ĝi aspektas bela. 944 00:43:30,200 --> 00:43:34,310 Do komencu marsxi pravas, subteni kohera stilo, 945 00:43:34,310 --> 00:43:37,100 vi ankaŭ nur tuj faros viajn vivojn tuta loto facile kiam 946 00:43:37,100 --> 00:43:38,730 vi provas iri tra elpurigi. 947 00:43:38,730 --> 00:43:41,510 Se vi provas elŝeligi kie vi mankas frizita krampoj 948 00:43:41,510 --> 00:43:44,890 kaj ili estas ĉiuj super la loko, vi estas simple fari vian propran vivon pli malfacila. 949 00:43:44,890 --> 00:43:47,217 Do estu kohera kun stilo. 950 00:43:47,217 --> 00:43:48,800 Mi promesas tion fari vian vivon pli facila. 951 00:43:48,800 --> 00:43:50,330 Ĝi faros niaj vivoj facila. 952 00:43:50,330 --> 00:43:51,869 Ĉiuj estos multe pli feliĉa. 953 00:43:51,869 --> 00:43:52,910 Kaj tio estas kion vi volas. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL: Via lernojaro estos pli alta. 956 00:43:55,650 --> 00:43:56,858 Allison: Jes, kaj via lernojaro. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 Se via TF Estas kiel vi, inklinas esti favora. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 Bone, kaj tiam simple La dua punkto tie. 961 00:44:05,010 --> 00:44:06,300 Konsekvenca initializations. 962 00:44:06,300 --> 00:44:09,605 Do, kiel ni vidis, vi povas deklari kaj pravalorizi tion. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 Multoblaj variabloj sur la sama linio. 965 00:44:13,180 --> 00:44:17,930 Unu afero ni ŝatus vin ne fari estas deklari iuj variabloj 966 00:44:17,930 --> 00:44:21,360 kaj ne pravalorizi ilin sur la sama linio kiu vi inicialización aliaj. 967 00:44:21,360 --> 00:44:23,960 >> Do en kazo kiu faris neniel ajn, 968 00:44:23,960 --> 00:44:29,050 ni havas la ekzemplon tie kie ni deklarante ints 969 00:44:29,050 --> 00:44:31,180 en variabloj de kvaraj dimes kaj moneroj, 970 00:44:31,180 --> 00:44:34,214 sed kazernoj kaj moneroj havas komencan valoron. 971 00:44:34,214 --> 00:44:36,630 Ni ne inicializado ilin, sed ĝuste en la mezo tie 972 00:44:36,630 --> 00:44:38,600 ni jam inicializado dimes al 0. 973 00:44:38,600 --> 00:44:41,650 Do ĉu fari kvaraj, dimes, moneroj. 974 00:44:41,650 --> 00:44:43,170 Aŭ ĉu kvaraj egalas 0. 975 00:44:43,170 --> 00:44:43,930 Dimes egalas 0. 976 00:44:43,930 --> 00:44:46,810 Pennies egalas 0, aŭ kio ajn tiuj komencaj valoroj. 977 00:44:46,810 --> 00:44:49,800 >> Granda afero kun stilo, kohera. 978 00:44:49,800 --> 00:44:51,050 Kiam en dubo, kohera. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 Sed sekvi nian stilon gvidas ankaŭ. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 Malvarmeta. 983 00:44:55,317 --> 00:44:56,150 CXiu bona tie? 984 00:44:56,150 --> 00:44:57,566 >> Publiko: Kie estas la stilo gvidas? 985 00:44:57,566 --> 00:45:00,800 Allison: La stilo gvidas Estas on-- kio estas la retpaĝaro? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: mi kredas ke estas manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 Allison: Stilo? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL: Style. 990 00:45:06,390 --> 00:45:06,920 Yep. 991 00:45:06,920 --> 00:45:07,520 >> Allison: Jes. 992 00:45:07,520 --> 00:45:10,150 Do demando, kie estas stilo 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 Jes? 995 00:45:13,639 --> 00:45:16,880 >> Publiko: Se ni difinas variabloj, estas OK 996 00:45:16,880 --> 00:45:28,145 se ni metas kiel [inaudible] kiel int partituro kaj tiam int celon. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 Do vi dirus ke nun ni alvenis al difini ilin kune? 999 00:45:35,100 --> 00:45:37,640 >> Allison: Do demando, deziro vi havas redunda kodo 1000 00:45:37,640 --> 00:45:40,940 kiam vi difinas variabloj kiel int partituro kaj 1001 00:45:40,940 --> 00:45:43,239 la sekvantan linion int ludo? 1002 00:45:43,239 --> 00:45:46,030 ROB Bowden: Estas definitive kazoj kie redunda kodo estas malbona. 1003 00:45:46,030 --> 00:45:47,738 Mi ne konsideras ke superfluaj kodon. 1004 00:45:47,738 --> 00:45:50,970 Mi preskaŭ neniam deklaras multnombraj variabloj sur la sama linio eterne. 1005 00:45:50,970 --> 00:45:53,736 Kaj se io, tio estas ĉar kutime mi lasu ian komentoj 1006 00:45:53,736 --> 00:45:55,235 klarigante kion la variablo estas por. 1007 00:45:55,235 --> 00:45:57,582 Do mi diros int partituro oblikvo oblikvo. 1008 00:45:57,582 --> 00:45:59,350 Sekvadon sendistinge. 1009 00:45:59,350 --> 00:46:00,710 Entute oblikvo oblikvo. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 Do estas multe Großer tiamaniere meti ilin ĉiujn en la sama linio. 1012 00:46:06,455 --> 00:46:08,080 Mi simple neniam surmetis ilin sur la sama linio. 1013 00:46:08,080 --> 00:46:10,580 >> Allison: Mi sentas ŝatas ĝin estas persona prefero ĉe tiu punkto. 1014 00:46:10,580 --> 00:46:14,900 >> Publiko: Ĉu tio anstatauxos por maŝojn kaj aĵoj tro? 1015 00:46:14,900 --> 00:46:15,900 ROB Bowden: Kiel ene? 1016 00:46:15,900 --> 00:46:18,282 Kiel int i egalas 0 komo longeco egalas ion? 1017 00:46:18,282 --> 00:46:19,490 Ke vi ne havas elekton. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 Kun por maŝojn la inicialización part-- do eble vi nur vidis 1020 00:46:25,910 --> 00:46:31,520 int i egalas 0 punktokomo i malpli ol ajn punktokomo i plus plus. 1021 00:46:31,520 --> 00:46:33,820 Ke int i egalas 0, teknike vi povas ankaŭ 1022 00:46:33,820 --> 00:46:35,770 faru kion ni vidis antaŭ per komo sintakso. 1023 00:46:35,770 --> 00:46:39,790 int i egalas 0 komo j egalas 3 komo k egalas 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 Vi ne havas elekton dividi ke supren en pluraj linioj, 1026 00:46:44,320 --> 00:46:46,530 kaj tio estas normo. 1027 00:46:46,530 --> 00:46:47,780 Vidante ĝin tie estas fajna. 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 Nu, konvena segue en bukloj. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 Do jes, ĉi tie ni havas iun ekzemploj de cikloj ke vi uloj vidis en Scratch. 1033 00:46:58,980 --> 00:47:01,550 Kaj kompreneble ĉiuj tiuj povas simple esti amuzita en C. 1034 00:47:01,550 --> 00:47:04,610 Ili esence permesas ripeti iujn sekcio de kodo 1035 00:47:04,610 --> 00:47:06,740 ĝis iu kondiĉo plenumas, kion ni 1036 00:47:06,740 --> 00:47:09,198 eniri dekstra post paroli pri masxojn kun conditionals. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> Do ni havas tri ĉefajn tipojn. 1039 00:47:12,570 --> 00:47:17,500 Ĉar, dum, kaj plenumu dum kiu ni ĉiuj trairu nun. 1040 00:47:17,500 --> 00:47:18,860 Do unue oni estas por bukloj. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 Do por iu kondiĉo, ekzekuti ĉi tiu bloko de kodo. 1043 00:47:25,034 --> 00:47:27,200 Ni havas ĉi malvarmeta iom Diagramo tie malsupre. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 Sed esence vi havas en via cxar tiu unua linio, 1046 00:47:32,310 --> 00:47:34,240 vi tuj pravalorizi viaj variabloj. 1047 00:47:34,240 --> 00:47:38,260 >> Do kiel ni raportis, i estas egala al 0 aŭ i estas egala al 10. 1048 00:47:38,260 --> 00:47:40,010 Kion ajn vi bezonas tiun variablo esti estas 1049 00:47:40,010 --> 00:47:43,970 tuj estos inicializado tie, deklaritaj kaj inicializado al iu valoro. 1050 00:47:43,970 --> 00:47:46,760 Do ni havos iom kondiĉe ke okazas 1051 00:47:46,760 --> 00:47:48,900 esti kontrolanta nian variablo kontraŭ io. 1052 00:47:48,900 --> 00:47:55,220 Do, en la kazo de la tipa kazo kie eble vi volas ĉi sekcio de kodo 1053 00:47:55,220 --> 00:47:56,620 ekzekuti kvin fojojn. 1054 00:47:56,620 --> 00:48:02,380 Do ni devus int i egalas 0, kaj ni deziras ĝin esti kiam i estas malpli ol 5. 1055 00:48:02,380 --> 00:48:04,940 Do tiu kondiĉo estas nur tuj kontrolu ke ĉiufoje. 1056 00:48:04,940 --> 00:48:07,120 Se tiu kondiĉo taksas al vera, ĝi estas 1057 00:48:07,120 --> 00:48:11,162 tuj kuras la kodo, kiu estas ĝuste kion tio iom diagramo montras. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> Kaj tial ĝi ekzekutas ŝin. 1060 00:48:13,639 --> 00:48:15,430 Ĝi ĝisdatigas variablo, kiu estas kion ni vidas 1061 00:48:15,430 --> 00:48:21,020 en la lasta parto de nia por buklo inicialización tie. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 Do tion ĝuste teni faranta ĉi ĝis tiu kondiĉo ne renkontiĝis, 1064 00:48:26,030 --> 00:48:28,010 kaj tiam eliri La maŝo kaj daŭrigi 1065 00:48:28,010 --> 00:48:29,960 movi antaŭen kun la resto de via programo. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 CXiu bona tie? 1068 00:48:33,620 --> 00:48:34,440 Malvarmeta. 1069 00:48:34,440 --> 00:48:37,780 >> Do jen ekzemplo, tre simila al iu kiu ĵus raportis. 1070 00:48:37,780 --> 00:48:42,030 Do ni nur volas presi tiu estas CS50 10 fojojn. 1071 00:48:42,030 --> 00:48:44,540 Do vi vidas ĉi tie ni havas niaj por, kaj poste ni 1072 00:48:44,540 --> 00:48:47,450 pravalorizi variablo i esti egala al 0. 1073 00:48:47,450 --> 00:48:50,610 Nia kondiĉo estas kontrolanta ke ĝi estas malpli ol 10. 1074 00:48:50,610 --> 00:48:55,210 Tiel taksi al veraj kiam ni unue komenci kaj tiam ĝisdatigu nian variablo 1075 00:48:55,210 --> 00:48:58,985 ĉiu tempo ke ĝi efektive ekzekutas kaj gravuraĵoj el tiu estas CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 Kaj finos post 10 fojojn. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 Malvarmeta. 1080 00:49:04,070 --> 00:49:07,130 >> Do dum maŝojn estas ĝis nun. 1081 00:49:07,130 --> 00:49:12,400 Kaj kiel vi vidas tie, ni nur havas iuj dum ĉi condition-- demandon? 1082 00:49:12,400 --> 00:49:15,238 >> Publiko: Kiel mi povas salti fakte simple ne unu numeron, 1083 00:49:15,238 --> 00:49:19,030 sed du numerojn [inaudible] i plus plus plus? 1084 00:49:19,030 --> 00:49:23,390 >> Allison: Do la demando estis kiel vi povas ĝisdatigi vian variablon per pli ol unu 1085 00:49:23,390 --> 00:49:24,070 samtempe. 1086 00:49:24,070 --> 00:49:26,860 Do i plus plus volo ĝisdatigo de unu ĉiufoje. 1087 00:49:26,860 --> 00:49:32,310 Se vi volas ĝisdatigi ĝin du, vi povus fari i pli egalas 2. 1088 00:49:32,310 --> 00:49:34,526 >> ROB Bowden: Ĉu vi vidis plus egalas en prelego ankoraŭ? 1089 00:49:34,526 --> 00:49:35,442 >> Publiko: [inaudible]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> Allison: Estas efektive la samo kiel i egalas i plus 2. 1092 00:49:42,110 --> 00:49:46,130 Do tuj prenos ĝin kaj ĝisdatigi ĝin de du ĉiufoje. 1093 00:49:46,130 --> 00:49:49,432 Plus egalas estas ĝuste io ni nomas sintaksa sukero. 1094 00:49:49,432 --> 00:49:52,390 ROB Bowden: Yeah, tiuj ekzistas por preskaŭ ĉiuj aritmetikaj operatoroj. 1095 00:49:52,390 --> 00:49:55,830 Do i fojojn egala al devus duobligi la numeron. 1096 00:49:55,830 --> 00:50:02,590 j dividi egalas 3 estas la sama kiel j egalas j dividita per 3. 1097 00:50:02,590 --> 00:50:07,399 >> Allison: Aŭ minus egalas 2 farus dekremento i du ĉiufoje. 1098 00:50:07,399 --> 00:50:08,565 ROB Bowden: Eĉ mod egalaj. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 Vi ne vidis bitlarĝa operatoroj, sed caret egalas kaj ampersand egalas, 1101 00:50:13,270 --> 00:50:14,560 ĉiuj tiuj ekzistas. 1102 00:50:14,560 --> 00:50:19,480 >> Allison: Do multajn fojojn, precipe kun via unua paro de P aroj, 1103 00:50:19,480 --> 00:50:22,527 vi estos probable pliigante per unu, do i plus plus, j plus plus 1104 00:50:22,527 --> 00:50:24,610 estas ĉio vi iras al tipe esti uzanta. 1105 00:50:24,610 --> 00:50:28,240 Sed tiu ĝisdatigo kondiĉo estas tute ene via kontrolo. 1106 00:50:28,240 --> 00:50:32,310 Vi povas ĝisdatigi ĝin per nenial pliigoj aŭ en ajna vojo vi decidas. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 Eble vi eĉ volas ke ĝi estu hazarda nombro foje. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 Sed jes, estas multe da tion vi povas fari per tio. 1111 00:50:39,580 --> 00:50:41,280 Vi ne limigita al i plus plus. 1112 00:50:41,280 --> 00:50:44,400 >> ROB Bowden: Nur por ke vi scias ke ekzistas, ĝi ankaŭ 1113 00:50:44,400 --> 00:50:46,960 ekzistas en alia formo, plus plus i. 1114 00:50:46,960 --> 00:50:51,410 Do se vi iam serĉado online kaj ili pasas al vidi plus plus i, 1115 00:50:51,410 --> 00:50:52,870 preskaux signifas la samon. 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 Bona? 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 Do dum maŝojn. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 Tre similaj. 1125 00:51:02,570 --> 00:51:03,737 Vi havas iun kondiĉon. 1126 00:51:03,737 --> 00:51:05,820 La ĉefa afero rimarki jen anstataŭ devi 1127 00:51:05,820 --> 00:51:08,540 tri malsamaj partoj starigi, ni havas unu. 1128 00:51:08,540 --> 00:51:11,090 Ni nur havas iu kondiĉo ke estas esti kontrolita. 1129 00:51:11,090 --> 00:51:14,920 Kaj en la sama maniero, tiel longe kiel ke kondiĉo taksas al vera, 1130 00:51:14,920 --> 00:51:16,840 vian kodon tuj kuros. 1131 00:51:16,840 --> 00:51:18,870 Kaj se ĝi estas malvera, ĝi finos, movado 1132 00:51:18,870 --> 00:51:21,930 sur la sekva parto de via programo. 1133 00:51:21,930 --> 00:51:25,780 Do tiu estas speco de like-- kio estas bona ekzemplo de kontrolanta 1134 00:51:25,780 --> 00:51:27,215 por iu normala stato? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL: Dum veras. 1137 00:51:30,235 --> 00:51:32,110 Allison: vi povus fari dum vera. 1138 00:51:32,110 --> 00:51:33,510 Nu, 1 estas egala al 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB Bowden: Vi povas fari while-- nur anstataŭ uzante por buklo, 1141 00:51:37,642 --> 00:51:39,600 Vi povas ĉiam Kodo por buklo en kiam buklo, 1142 00:51:39,600 --> 00:51:42,600 tial mi estas pli granda ol 0 aŭ dum mi malpli ol 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 Kaj tiam ni faros dum maŝojn, kiuj estas granda por uzanto validación, kie 1146 00:51:50,640 --> 00:51:55,370 Vi volas akiri ion de via uzanto, rigardu, cxu gxi estas valida, 1147 00:51:55,370 --> 00:51:57,060 kaj tiam daŭrigas de tie. 1148 00:51:57,060 --> 00:52:04,000 Do unu el la aĵoj scii estas kun faras tempon estas ke tuj faros, 1149 00:52:04,000 --> 00:52:08,000 kaj tiam re-ekzekuti se tiu kondiĉo estas konita. 1150 00:52:08,000 --> 00:52:11,240 >> Do verŝajne la plej bona maniero por fari tion Estas nur por vidi ekzemplon tie. 1151 00:52:11,240 --> 00:52:14,620 Do kiel mi ĵus menciis, uzanto validación vere useful-- 1152 00:52:14,620 --> 00:52:17,520 aŭ fari Momentoj estas vere utila kun uzanto validación. 1153 00:52:17,520 --> 00:52:19,730 Do tio estas nur tuj re-suflori iu uzanto 1154 00:52:19,730 --> 00:52:23,640 ĝis ili eniros pozitiva nombro, kiu povus esti utila por via P aro 1155 00:52:23,640 --> 00:52:24,190 ĉi tiu semajno. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 Do en ĉi tiu kazo, kiam ni komence kuras tiu programo, 1158 00:52:29,480 --> 00:52:32,260 ĝi tuj presi eniri pozitiva nombro. 1159 00:52:32,260 --> 00:52:34,810 Ĝi tuj akiri iom enigon el la uzanto, 1160 00:52:34,810 --> 00:52:38,320 kaj tiam tuj kontrolu ke enigo kontraŭ la kondiĉo 1161 00:52:38,320 --> 00:52:39,500 ke vi starigis por gxi. 1162 00:52:39,500 --> 00:52:41,030 >> Do en ĉi tiu kazo tuj kontrolu. 1163 00:52:41,030 --> 00:52:44,190 Ĝi tuj diri, nu bone, Estas niaj input negativa, 1164 00:52:44,190 --> 00:52:47,175 aŭ estas 0 aŭ negativa, kio estus nevalidaj. 1165 00:52:47,175 --> 00:52:48,300 Tial do tio estus re-prompto. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 Demando? 1168 00:52:50,780 --> 00:52:54,720 >> Publiko: CXu tio estas la sama tiam, kiel dum buklo se vi ĵus kopiis tiu kodo 1169 00:52:54,720 --> 00:52:56,680 kaj metis gxin [inaudible] dum buklo? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> Allison: Do demando estis volus tio estos la sama kiel nur momenton 1172 00:53:05,160 --> 00:53:08,570 buklo se ni simple kopiu la dum buklo supre. 1173 00:53:08,570 --> 00:53:12,440 Do en ĉi tiu kazo, vian dum loop tuj kontroli la kondiĉo unue. 1174 00:53:12,440 --> 00:53:15,300 Do en tiu kazo, se ni provis skribi kiel nur momenton buklo, 1175 00:53:15,300 --> 00:53:18,010 ŝi dirus dum enigo estas malpli ol unu. 1176 00:53:18,010 --> 00:53:20,801 Sed ni ne havas enigaĵoj por ĝi. 1177 00:53:20,801 --> 00:53:24,238 >> Publiko: Se [inaudible] dum buklo inkluzive tiun kodon, 1178 00:53:24,238 --> 00:53:28,166 sed poste vi coped kodo super la dum buklo ankaŭ. 1179 00:53:28,166 --> 00:53:31,052 Vi nur havis ĉi kodo [Inaudible] dum buklo. 1180 00:53:31,052 --> 00:53:32,760 Allison: Estus la sama afero, jes. 1181 00:53:32,760 --> 00:53:37,110 Tiel vi povus simple write-- anstataŭ havi do-- jes. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL: Sed tio estas pli eleganta. 1184 00:53:39,350 --> 00:53:41,020 Allison: Yeah, tio pli eleganta. 1185 00:53:41,020 --> 00:53:44,560 Vi povas akiri en dezajno kaj whatnot, sed jes, vi povas tute fari tion. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 Aliajn demandojn? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 OK, malvarmeta. 1190 00:53:50,250 --> 00:53:55,540 >> Do ni multe parolis kondiĉoj kun ĉiuj ĉi tiuj cikloj, kiun ni havas, 1191 00:53:55,540 --> 00:53:58,615 do ni efektive akiranta en kondiĉoj en Bulea esprimoj. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 Denove, vi uzos tiujn en C, tiom simple speco de transiro 1194 00:54:03,440 --> 00:54:06,050 el pli grafika interfaco efektive kodigo. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> Cool, tiel granda unu, se. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 Esence nur permesas nin enkonduki iu logiko en nian programon kaj ĉeko 1199 00:54:17,070 --> 00:54:17,790 sys kondiĉoj. 1200 00:54:17,790 --> 00:54:22,150 Do en ĉi tiu kazo, OK, estas n pli granda ol 0? 1201 00:54:22,150 --> 00:54:24,070 Jes estas, do vi povas ekzekuti ĉi. 1202 00:54:24,070 --> 00:54:28,060 Ĝi simple kontrolanta iun kondiĉe ke vi havas 1203 00:54:28,060 --> 00:54:33,565 enkadrigeblajn kiun mi kredas ke ni ĉiuj estas komforta kun kontrolanta kondiĉoj. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 Malvarmeta. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 Do se alie estas via alia, Vi povas diri OK, se tio estas vera, 1208 00:54:44,530 --> 00:54:46,150 faru tion unue. 1209 00:54:46,150 --> 00:54:48,720 Alie mi volas ke vi defaŭltan kaj fari ion alian. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 Kiel en ĉi tiu kazo, vi ĉu pluki pozitiva nombro aŭ negativa nombro. 1212 00:54:55,060 --> 00:54:56,500 Vi nur havas du eblecojn. 1213 00:54:56,500 --> 00:54:59,550 Vi bezonas ekzekuti sendistinge kion via uzanto enigas. 1214 00:54:59,550 --> 00:55:02,920 Do vi povas diri ankaŭ, estas pli granda ol 0? 1215 00:55:02,920 --> 00:55:03,480 Malvarmeta. 1216 00:55:03,480 --> 00:55:04,480 Printi pozitiva nombro. 1217 00:55:04,480 --> 00:55:06,153 Se ĝi ne estas, presi negativa. 1218 00:55:06,153 --> 00:55:06,960 CXiu bona? 1219 00:55:06,960 --> 00:55:14,920 >> Kaj poste ion rekoni estas ke se la se kondiĉo renkontiĝis, 1220 00:55:14,920 --> 00:55:16,650 la alia neniam ankaŭ ekzekuti. 1221 00:55:16,650 --> 00:55:19,210 Nur unu el tiuj volo ekzekuti samtempe. 1222 00:55:19,210 --> 00:55:20,410 Do ĝi estas komerca ekstere. 1223 00:55:20,410 --> 00:55:21,720 Vi ne alvenas al havi ambaŭ. 1224 00:55:21,720 --> 00:55:23,566 Oni devas aŭ la unuan kondiĉon. 1225 00:55:23,566 --> 00:55:25,440 Oni devas aŭ la se aŭ la alian, ne ambaŭ. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 Kion do povas fari tion eĉ pli komplika, 1228 00:55:28,890 --> 00:55:31,060 ĉar vi povas fari se, alie ĝi kaj poste alia. 1229 00:55:31,060 --> 00:55:32,810 Do en ĉi tiu kazo, ni havas tri kondiĉojn. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 Kaj cetere, nur unu el ili estas tuj finos esti ekzekutita. 1232 00:55:38,370 --> 00:55:41,030 Tiel vi povus mirantaj Nu, kio se vi 1233 00:55:41,030 --> 00:55:45,510 havi iun kiu povas renkonti du el tiuj. 1234 00:55:45,510 --> 00:55:49,520 Eble ajn vi inputting renkontas ambaŭ kondiĉe 1235 00:55:49,520 --> 00:55:51,811 cxar se kaj la alia se. 1236 00:55:51,811 --> 00:55:53,060 Lin sola kiu tuj kuros 1237 00:55:53,060 --> 00:55:56,240 >> Allison: Tuj kiam ĝi trovas iun ke ĝi verigas la kondiĉon por ke 1238 00:55:56,240 --> 00:55:59,790 taksas al vera, tion ĝi tuj kuri kaj nenio alia. 1239 00:55:59,790 --> 00:56:04,440 Do se vi havis estas ĉi nombro inter 0 kaj 5 por via unua, 1240 00:56:04,440 --> 00:56:10,530 aŭ estas tiu nombro inter 3 kaj 5 por la alia, se parto, 1241 00:56:10,530 --> 00:56:15,550 kaj vi indiku ĝustajn number-- Mi diris 0 kaj 5 kaj- 4. 1242 00:56:15,550 --> 00:56:18,110 Ĝi tuj frapis la unua unu. 1243 00:56:18,110 --> 00:56:20,960 Ĝi estas dironta OK, ĉi nombro estas inter 0 kaj 5. 1244 00:56:20,960 --> 00:56:22,480 Ekzekuti kaj eliri. 1245 00:56:22,480 --> 00:56:25,340 Ĝi neniam trafis tiun duan opcion. 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 ni ankaŭ havas ŝaltilon deklaroj se vi volas ricevi eĉ more-- aŭ pardono, 1249 00:56:31,300 --> 00:56:31,965 ŝaltilo estas proksima. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 Mi ricevas antaŭ min ĉi tie. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 Denove, multnombraj se blokoj kie kiel mi ĵus diris 1254 00:56:39,210 --> 00:56:45,600 Estas tuj kiam vi trovos kondiĉo ke'S renkontis kaj se alie se alie, 1255 00:56:45,600 --> 00:56:46,630 forlasas. 1256 00:56:46,630 --> 00:56:49,560 Se vi bezonas kontroli multnombraj aĵoj, vi estas 1257 00:56:49,560 --> 00:56:53,000 tuj volas uzi tiun ĉar ĝi kontrolos ĉiufoje tie. 1258 00:56:53,000 --> 00:56:58,060 Do ĉi kuros tra kaj se estas pli granda ol aŭ egala al 90, 1259 00:56:58,060 --> 00:56:59,160 ĝi tuj presi tiun. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 Kaj ĝi kuros tra kaj kontrolu ĉiu ununura unu el tiuj. 1262 00:57:03,600 --> 00:57:06,444 >> Publiko: Do ​​tiu estus pli kalesxo ol [inaudible]. 1263 00:57:06,444 --> 00:57:07,735 Ĉu tio estu kiel [inaudible]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> Allison: La demando estas cxi estu kalesxo aŭ tio ĉi fari kion vi volas. 1266 00:57:15,740 --> 00:57:19,830 Vere dependas de kio vi volas de via programo. 1267 00:57:19,830 --> 00:57:22,291 >> Publiko: Mi volas diri kiel se vi metos 90 in. 1268 00:57:22,291 --> 00:57:23,290 Allison: Se vi metas 90-- 1269 00:57:23,290 --> 00:57:24,206 Publiko: [inaudible]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL: vi tuj ricevas du aferoj. 1272 00:57:27,250 --> 00:57:28,916 Allison: vi tuj ricevas du aferoj. 1273 00:57:28,916 --> 00:57:29,420 Jes, du. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB Bowden: Du? 1276 00:57:33,920 --> 00:57:34,580 >> Allison: No. 1277 00:57:34,580 --> 00:57:35,288 >> ROB Bowden: Kvar. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 Se vi metos 90, ĝi tuj diros al vi ricevis A, kie vi akiris B, vi havas C: 1280 00:57:40,070 --> 00:57:40,545 vi akiris D. 1281 00:57:40,545 --> 00:57:41,461 >> Publiko: [inaudible]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 Allison: Ĝuste. 1284 00:57:42,820 --> 00:57:44,778 Do mi dependas sur kio vi volas de vi programo. 1285 00:57:44,778 --> 00:57:47,050 Kelkfoje necesas kontroli multnombraj aĵoj. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 Vi ricevos multe pli profunden en kio bona dezajno estas kiel vi ekiru. 1288 00:57:55,270 --> 00:57:57,090 La grava afero rimarkas estas kiu ĉi 1289 00:57:57,090 --> 00:58:01,090 kontrolos kvar kondiĉoj tie. 1290 00:58:01,090 --> 00:58:05,860 Dum se tiu estis unu se alie se alie se alie, estus batis tiu unua kazo, 1291 00:58:05,860 --> 00:58:07,950 estus presi vi ricevis A kaj farenda. 1292 00:58:07,950 --> 00:58:10,250 >> ROB Bowden: Eĉ se ni decidis ŝanĝi tion por se 1293 00:58:10,250 --> 00:58:13,880 kaj pli granda ol aŭ egala al 90, se kaj pli granda ol aŭ egala al 80, 1294 00:58:13,880 --> 00:58:19,710 kaj malpli ol aŭ egala al 89, se n pli granda ol aŭ egala al 70, 1295 00:58:19,710 --> 00:58:23,830 kaj n malpli ol aŭ egala al 79 tiel, ke estos ĝentile. 1296 00:58:23,830 --> 00:58:27,190 Kiu faros kion ni volas, sed ĝi ankoraŭ kontrolas ĉiu unuopa ĝin. 1297 00:58:27,190 --> 00:58:34,050 >> Do dum la unua scenaro, se ni eniri 90 kun nur se alie se alie se, 1298 00:58:34,050 --> 00:58:37,300 kaj ni eniros 90, tiam ĝi tuj korektos. 1299 00:58:37,300 --> 00:58:39,615 Ĝi kontrolos la unuan unu, presita vi ricevis A 1300 00:58:39,615 --> 00:58:42,590 skip ĉio, ĉar tio jam trovis unu kiu funkcias. 1301 00:58:42,590 --> 00:58:46,360 Ĉiuj kazoj estas reciproke ekskluzivaj bazita sur se alie se alie se. 1302 00:58:46,360 --> 00:58:48,630 Do ĝi devos plenumi la unua se, vere jam estas farita. 1303 00:58:48,630 --> 00:58:49,790 Ĝi iros ĝis la fino. 1304 00:58:49,790 --> 00:58:52,400 >> Dum kiu se ni ŝanĝos tio estos kion mi trovis 1305 00:58:52,400 --> 00:58:54,204 dirante per malpli ol aŭ egala al 89. 1306 00:58:54,204 --> 00:58:55,620 Ĝi tuj marku la unua unu. 1307 00:58:55,620 --> 00:58:56,560 Ĝi devos presi. 1308 00:58:56,560 --> 00:58:58,010 Ĝi devos kontroli la dua. 1309 00:58:58,010 --> 00:58:59,010 Oni ne tuj presi. 1310 00:58:59,010 --> 00:58:59,910 Kontrolu la trian. 1311 00:58:59,910 --> 00:59:00,620 Ne tuj presi. 1312 00:59:00,620 --> 00:59:01,495 Kontrolu la kvara. 1313 00:59:01,495 --> 00:59:02,420 Nun tuj presi. 1314 00:59:02,420 --> 00:59:05,380 Do en tiu kazo, la alia se versio, ekde tiuj kazoj 1315 00:59:05,380 --> 00:59:09,120 estas reciproke ekskluzivaj, estas bona uzo se alie se alie se, 1316 00:59:09,120 --> 00:59:12,970 ĉar kiu tuj havos malpli ĉekojn de la kondiĉoj 1317 00:59:12,970 --> 00:59:14,750 ol tiu versio. 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 Do alia afero ni povas fari estas ŝaltilo deklaroj. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 Esence ŝaltilo deklaro prenas en iu variablo, 1323 00:59:25,270 --> 00:59:28,780 en tiu kazo ĝi estas n, kaj determinas kiu kazo ekzekuti. 1324 00:59:28,780 --> 00:59:33,106 Do ĉi tiu estas ankaŭ unu kie viaj kazoj devus esti speco de reciproke ekskluzivaj. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 Do en tiu kazo, se ni ni preni unu, ĝi estas 1327 00:59:37,940 --> 00:59:42,270 tuj kongruas ajn ke variable-- ajn la valoro de n 1328 00:59:42,270 --> 00:59:48,700 estas unu el tiuj kazoj, do 1, 2, aŭ 3 kaj presi la responda linio. 1329 00:59:48,700 --> 00:59:51,870 >> Kaj tiam, se vi rimarkos tie, Ni ankaŭ havas defaŭlte, 1330 00:59:51,870 --> 00:59:54,670 kiun vi povas pensi pri kiel via alia. 1331 00:59:54,670 --> 00:59:58,510 Do se vi elektu alia nombro krom 1, 2, kaj 3 en tiu kazo 1332 00:59:58,510 --> 00:59:59,885 Estas nur tuj presi nevalida. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 Decidi kiam uzi oj kontre se elses kontre ŝaltiloj tuj 1335 01:00:08,390 --> 01:00:12,590 esti io ke vi uloj volas vidu desegni saĝa kiel vi komencas skribi 1336 01:00:12,590 --> 01:00:15,270 pli komplikaj programoj, kaj ne estas malmolaj kaj rapidaj reguloj 1337 01:00:15,270 --> 01:00:16,330 de kiam uzi ilin. 1338 01:00:16,330 --> 01:00:17,890 Vere dependas de via kuntekston. 1339 01:00:17,890 --> 01:00:18,590 >> ROB Bowden: Kaj ĝuste ĵeti ĝin tie 1340 01:00:18,590 --> 01:00:20,131 ĉar ĝi estas pli komforta sekcio. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 Ŝaltiloj, ili inklinas be-- tiel vi limigita 1343 01:00:25,053 --> 01:00:27,430 en la nombro de manieroj povas uzi ilin, ĉar oj, 1344 01:00:27,430 --> 01:00:30,100 la kondiĉo povas esti bela multa ajn vi volas. 1345 01:00:30,100 --> 01:00:33,410 Kun ŝaltiloj kazoj esti nombroj, 1346 01:00:33,410 --> 01:00:37,770 aŭ teknike povas esti signojn, sed signojn, kiel ni vidos, estas nur ciferoj. 1347 01:00:37,770 --> 01:00:44,250 Do ili devas esti nombroj, sed ŝaltiloj estas vere pli efika ol se 1348 01:00:44,250 --> 01:00:50,060 alie se alie se, ĉar eĉ prenante la ekzemplo before-- bone, 1349 01:00:50,060 --> 01:00:51,486 la grado ekzemplo ŝajnas bona. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> Nu diru tie, ni anstataŭ fari tion kiel se alie se alie se scenaro. 1352 01:00:57,080 --> 01:01:00,930 Do se n egalas egalas 1, presi vi plukis malaltan nombron. 1353 01:01:00,930 --> 01:01:04,490 Se alie se n egalas egalas 2 vi plukis meza nombro. 1354 01:01:04,490 --> 01:01:06,550 Else se egaluloj egalas 3, altaj. 1355 01:01:06,550 --> 01:01:08,060 Else nevalida. 1356 01:01:08,060 --> 01:01:09,820 >> Do diru ke nia scenejo. 1357 01:01:09,820 --> 01:01:14,060 Tiel diru ni eniru 4, do ni atendas nevalida. 1358 01:01:14,060 --> 01:01:17,410 La maniero ke se alie se alie se alproksimiĝo tuj laboros estas 1359 01:01:17,410 --> 01:01:18,740 kontrolas la unua kondiĉo. 1360 01:01:18,740 --> 01:01:19,776 Ĝi ne estas kontentigita. 1361 01:01:19,776 --> 01:01:21,150 Do ni marku la dua kondiĉo. 1362 01:01:21,150 --> 01:01:21,940 Ĝi ne estas kontentigita. 1363 01:01:21,940 --> 01:01:23,023 Kontrolu la tria kondiĉo. 1364 01:01:23,023 --> 01:01:23,640 Ne satigxas. 1365 01:01:23,640 --> 01:01:26,650 Do ni iru al la alia kaj presi nevalida. 1366 01:01:26,650 --> 01:01:30,169 >> La maniero la ŝaltilo verkoj Estas kompilas malsupren 1367 01:01:30,169 --> 01:01:31,960 en kio ni iras nomi salto tablo. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 La ĉefa ideo estaĵo Kiam vi eniros 4 1370 01:01:37,120 --> 01:01:39,090 ĝi povas tuj iri al la defaŭlta. 1371 01:01:39,090 --> 01:01:41,460 Ĝi ne bezonas kontroli cxu mi kazo 1? 1372 01:01:41,460 --> 01:01:42,350 Nope tio ne. 1373 01:01:42,350 --> 01:01:42,850 Case 2? 1374 01:01:42,850 --> 01:01:43,240 Nope. 1375 01:01:43,240 --> 01:01:43,770 Case 3? 1376 01:01:43,770 --> 01:01:44,270 Nope. 1377 01:01:44,270 --> 01:01:45,090 Implicite. 1378 01:01:45,090 --> 01:01:47,610 OK, tiu devas esti kie mi volas, kaj poste ekzekuti tio. 1379 01:01:47,610 --> 01:01:49,590 Ne, ĝi tuj saltas al la defaŭlta. 1380 01:01:49,590 --> 01:01:51,900 Aux eble mi eniru 2, estas tuj iros al la 2 1381 01:01:51,900 --> 01:01:54,060 sen neceso por iri tra kazo 1. 1382 01:01:54,060 --> 01:01:57,820 >> Do en tiu maniero, realisme nuntempe tio 1383 01:01:57,820 --> 01:02:00,250 ne ke multe de eficiencia gajno. 1384 01:02:00,250 --> 01:02:02,880 Kutime komputiloj estas bela rapida, kaj tio ne estas tiu granda. 1385 01:02:02,880 --> 01:02:07,270 Sed ĝi estas la kazo, ke ŝaltiloj estas rapida. 1386 01:02:07,270 --> 01:02:10,380 Se vi vere provas optimizar uzu ŝaltilon. 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 Kaj tiam ni havas triargumenta operatoro. 1390 01:02:15,270 --> 01:02:19,470 Do mi scias ke mi menciis antaŭe vorto sintaksa sukero. 1391 01:02:19,470 --> 01:02:24,160 Do estas nur aĵoj kiuj faras via kodo multe pli konciza. 1392 01:02:24,160 --> 01:02:25,590 Do ĉi tiu estas unu el tiuj kazoj. 1393 01:02:25,590 --> 01:02:31,430 >> Do triargumenta operatoro estas demandosigno dupunkto kiel ni vidas en la linio kordo 1394 01:02:31,430 --> 01:02:35,810 s egalas n pli granda ol 100 demandosigno alta dupunkto malalta. 1395 01:02:35,810 --> 01:02:41,800 Do esence kiel tio funkcias estas ĝi estas la n pli granda ol 100 estas kondiĉo. 1396 01:02:41,800 --> 01:02:43,674 Do mi kredas ke ĝi povas doni senson. 1397 01:02:43,674 --> 01:02:44,840 Estas kiel peti demandon. 1398 01:02:44,840 --> 01:02:47,320 Ĝi estas jene ho, estas n pli granda ol 100. 1399 01:02:47,320 --> 01:02:48,340 Kiu scias? 1400 01:02:48,340 --> 01:02:50,750 Kaj se ĝi taksas al vera, ĝi tuj donu vin 1401 01:02:50,750 --> 01:02:54,270 La unua aĵo kiu estas listigitaj tie, kiu estas tre alta. 1402 01:02:54,270 --> 01:02:55,840 Alie gxi tuj donos al vi la malalta. 1403 01:02:55,840 --> 01:03:01,210 Do tio estas nur vere simpla kaj efika maniero fari kiel se alie. 1404 01:03:01,210 --> 01:03:02,780 Tio estas ĉio ĉi estas. 1405 01:03:02,780 --> 01:03:07,450 >> Kaj se ni skribas ĉi kiel se alie condicional, 1406 01:03:07,450 --> 01:03:12,480 estus se n estas granda ol 100, revenu altaj. 1407 01:03:12,480 --> 01:03:14,220 Alie, revenu malalta. 1408 01:03:14,220 --> 01:03:17,570 Tiu estas nur multe pli konciza formo de skribi ŝin. 1409 01:03:17,570 --> 01:03:27,090 >> ROB Bowden: Do tiu aparta ekzemplo Estas kiam vi faras ion 1410 01:03:27,090 --> 01:03:30,190 kiel tio ĉi estas la mastro kie mi uzas triargumenta tre ofte. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 Do ni ne parolis pri atingo ankoraŭ, sed mi malamas vidante kordoj s punktokomo. 1413 01:03:35,460 --> 01:03:39,150 Se n estas pli granda ol 100, s egalas altaj. 1414 01:03:39,150 --> 01:03:40,660 Alie, s egalas malalta. 1415 01:03:40,660 --> 01:03:45,070 Por ke mastro, tiuj kvin linioj de kodo laŭvorte 100% de la tempo 1416 01:03:45,070 --> 01:03:49,800 povas esti kopiitaj en kio iris tien kun triargumenta. 1417 01:03:49,800 --> 01:03:52,340 Do la triargumenta, unu linio de kodo. 1418 01:03:52,340 --> 01:03:54,640 La se alie, kvin. 1419 01:03:54,640 --> 01:03:56,910 Tio estas ekzemplo mi atentigi ĉiun solan fojon. 1420 01:03:56,910 --> 01:03:59,250 Ĉi tiu estus bonega loko por triargumenta operatoro. 1421 01:03:59,250 --> 01:04:00,647 Ĝi estas tiel pura. 1422 01:04:00,647 --> 01:04:01,980 Sed homoj inklinas neniam uzas ĝin. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> Allison: forportu Gabe. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: Do nun vi uloj ĉiuj lernis en prelego cxi tiu semajno 1426 01:04:11,110 --> 01:04:13,420 ke ĉiu en komputilo estas binara, dekstra? 1427 01:04:13,420 --> 01:04:14,570 Ĝuste kiel la lampoj tie. 1428 01:04:14,570 --> 01:04:16,492 Vi povas esti ĉu turnis kaj ekstere. 1429 01:04:16,492 --> 01:04:18,450 Kaj por ĉiu, mi volas diri laŭvorte ĉio. 1430 01:04:18,450 --> 01:04:24,272 Kelkaj nombroj kaj signojn, kaj kordoj, kaj eĉ la kodo kiun vi skribas kiam 1431 01:04:24,272 --> 01:04:26,480 Ĝi alvenas kompilita por maŝino kodo kaj da tio, 1432 01:04:26,480 --> 01:04:29,230 do cxiuj bolas malsupren al 0-aj kaj 1 '. 1433 01:04:29,230 --> 01:04:34,540 >> Kaj tiel, kiam ni pritraktas kun entjeroj, kio 1434 01:04:34,540 --> 01:04:38,000 Estas iu kiu estas teknike tre simpla, ni devas povi fari aferojn 1435 01:04:38,000 --> 01:04:40,630 kiel aldoni ilin, kio estas probable unu el la plej simplaj aferoj 1436 01:04:40,630 --> 01:04:42,300 Vi povas fari du entjeroj, ĉu ne? 1437 01:04:42,300 --> 01:04:47,410 Do adicio kaj subtraho funkcias ĝuste kiel ĝi funkcias en decimala notacio, 1438 01:04:47,410 --> 01:04:50,780 krom tie estas binara, dekstra? 1439 01:04:50,780 --> 01:04:52,090 Do estas en bazo du. 1440 01:04:52,090 --> 01:04:54,070 Do aldoni 1 plus 1. 1441 01:04:54,070 --> 01:04:57,020 Tio donas al 0 kaj 1 portas super. 1442 01:04:57,020 --> 01:05:01,335 Kaj ĝuste teni fari tion, do venas la pli interesa demando. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> Ni scias kiel reprezenti ĉiujn pozitivaj entjeroj en la komputilon, 1445 01:05:07,710 --> 01:05:09,870 sed ni faros ĉi ekzercon. 1446 01:05:09,870 --> 01:05:15,240 Pretend vi uloj estas ĉiuj en 1960 aŭ ion klopodas krei komputilon, 1447 01:05:15,240 --> 01:05:19,950 kaj vi devos veni supren de maniero stoki minus 1 1448 01:05:19,950 --> 01:05:22,554 ekzemple, aŭ minus ajnan entjero por tiu afero. 1449 01:05:22,554 --> 01:05:23,470 Kiel vi faru tion? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 Ajna ideoj? 1452 01:05:29,220 --> 01:05:31,302 Nur ĵetu ion al mi. 1453 01:05:31,302 --> 01:05:32,264 Jes? 1454 01:05:32,264 --> 01:05:39,480 >> Publiko: [inaudible] designar speciala se via [inaudible]. 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL: Vi povas designar speciala bitoj, kiu estos 0 aŭ 1. 1456 01:05:42,590 --> 01:05:45,590 Diru oni se ĝi estas pozitiva kaj 0 se ĝi estas negativa. 1457 01:05:45,590 --> 01:05:48,171 Kaj tiam la resto de la bitoj Estas nur por stoki la nombro. 1458 01:05:48,171 --> 01:05:48,670 Malvarmeta. 1459 01:05:48,670 --> 01:05:49,990 Do tio estas tre bona ideo. 1460 01:05:49,990 --> 01:05:51,550 Ni havas, mi ne scias, 200. 1461 01:05:51,550 --> 01:05:54,720 Kaj se la unua bito estas ŝaltita, tiam estas pli 200. 1462 01:05:54,720 --> 01:05:57,270 Se ĝi estas malŝaltita, estas minus 200. 1463 01:05:57,270 --> 01:05:58,380 Malvarmeta. 1464 01:05:58,380 --> 01:06:01,350 >> Ekzistas nur unu malgranda problemo kun ĉi tio, 1465 01:06:01,350 --> 01:06:05,370 kio se ni provos resumi tion supre. 1466 01:06:05,370 --> 01:06:18,910 Do imagu ni havas 11111 tie, kaj ni sumante tiun kun 00100 ajn. 1467 01:06:18,910 --> 01:06:21,630 Se tiuj du estas pozitiva, tio estas bone. 1468 01:06:21,630 --> 01:06:24,470 Sed tiam, se unu el ili estas negativaj, kiel 1469 01:06:24,470 --> 01:06:27,410 Diru ke ĉi iom tie Estas kiu estas respondeca 1470 01:06:27,410 --> 01:06:31,390 for-- Mi iras fari separate-- tial ĉi tiu signifas ke tiu numero ĉi tie 1471 01:06:31,390 --> 01:06:31,970 estas pozitiva. 1472 01:06:31,970 --> 01:06:34,450 Ĉi tiu signifas ke ĉi numeron tie estas negativa, dekstra? 1473 01:06:34,450 --> 01:06:37,010 >> Sed tiam kiam vi estas tuj elprenu ilin, vi 1474 01:06:37,010 --> 01:06:40,180 bezonas se komunikaĵo dirante ho se estas 0, 1475 01:06:40,180 --> 01:06:43,479 tiam mia sumo estos io malsama, ĉu ne? 1476 01:06:43,479 --> 01:06:45,270 Do tie estas iomete pli ruza maniero fari 1477 01:06:45,270 --> 01:06:48,520 tio, kion oni nomas du komplemento. 1478 01:06:48,520 --> 01:06:52,350 Do esence kion ni fari estas ni difini minus 1 1479 01:06:52,350 --> 01:06:57,250 esti la afero, ke se ni aldonas ĝis 1 donas ni 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 Lasu min ripeti tion. 1482 01:07:00,860 --> 01:07:03,280 Do diru ke ĉi tie estas 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 Kio estas tio, ke nature en pozitivaj entjeroj 1485 01:07:13,570 --> 01:07:15,570 adiciita ke donas al ni 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 Kio se ni provos aldoni al tiu nombro? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 Ni tuj have-- OK, do ni aldonos. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 Ni tuj havos 1 plus 1 estas 0, kaj tiam portas super. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 Kaj poste ni tuj akiri 0 denove. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 Mi ricevas konfuzita. 1496 01:07:48,820 --> 01:07:51,670 Kaj vi tuj akiri 0 kaj 0 kaj 0 kaj 0 kaj 0 kaj 0. 1497 01:07:51,670 --> 01:07:52,450 Multa 0 aj jaroj. 1498 01:07:52,450 --> 01:07:56,240 >> Ĉe la lasta, ni ne tuj povos porti ĝin super, 1499 01:07:56,240 --> 01:07:59,614 ĉar diru ni nur kontraktanta per unu bajto, tiel nur 8 bitoj. 1500 01:07:59,614 --> 01:08:02,780 Do kio estas la komputilo faras defaŭlte Estas simple forgesas pri tio [inaudible] 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 Do jen kion oni nomas la du komplemento. 1504 01:08:06,880 --> 01:08:15,180 Ni simple difini minus 1 esti la afero tie, ke se vi aldonas ke al 1 1505 01:08:15,180 --> 01:08:15,995 donus vin 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 Kaj tio estas sufiĉe malvarmeta ĉar ni ne vere 1508 01:08:20,180 --> 01:08:24,090 bezonas malfrue implementar malsama tipo de sum 1509 01:08:24,090 --> 01:08:26,590 dependanta sur ĉu tio estas negativa aŭ pozitiva nombro. 1510 01:08:26,590 --> 01:08:27,465 Ĉu tio havas sencon? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> Do unu afero kiun ni faras tie por konverti 1513 01:08:32,370 --> 01:08:38,550 inter pozitiva kaj negativa entjero estas tiam ni klaki ĉio, 1514 01:08:38,550 --> 01:08:40,930 kaj tiam ni aldonas 1 al tiu nombro. 1515 01:08:40,930 --> 01:08:43,140 Se vi provos fari ĝin vi mem sur peco de papero, 1516 01:08:43,140 --> 01:08:44,681 vi tuj vidos, ke havas sencon. 1517 01:08:44,681 --> 01:08:51,000 Sed se mi prenas ĉi nombro tie ĉi estas kvin. 1518 01:08:51,000 --> 01:08:54,859 Do se mi klaki ĉio tie, do 1, 1, 1, 1, 1. 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 Flip, klaki, klaki. 1521 01:08:57,830 --> 01:09:00,130 Kaj tiam Mi aldonos 1 al ĝi. 1522 01:09:00,130 --> 01:09:02,750 Mi tuj havos ekzakte minus 5. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> Tiu speco de sencoplena ĉar se provas resumi tion kun la nombro 1525 01:09:06,220 --> 01:09:10,229 ke ni havis antaŭe, kiu was-- ni klaki ĉi denove. 1526 01:09:10,229 --> 01:09:12,999 Estis 101 kaj multan 0 aj jaroj. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 Se vi provas aldoni tiujn du numerojn kune, 1529 01:09:15,670 --> 01:09:16,961 vi tuj havos ekzakte 0. 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 OK. 1532 01:09:19,460 --> 01:09:19,884 Demandojn? 1533 01:09:19,884 --> 01:09:20,759 >> Publiko: [inaudible] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL: Kion vi celas diri? 1536 01:09:27,280 --> 01:09:29,240 >> Publiko: Negativa al pozitiva [inaudible]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: Ne, vi klaki kaj vi aldonas 1 ĉiam. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 Yeah. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 OK, do karakteroj ankaŭ koditaj binaraj. 1542 01:09:39,680 --> 01:09:42,649 Ni havas ASCII tablo, kiel vi ankaŭ vidis en prelego, dekstra? 1543 01:09:42,649 --> 01:09:45,040 Do ĝi estas esence surĵeto de aĵoj. 1544 01:09:45,040 --> 01:09:50,960 Kaj tie mi povas ne elstaras sufiĉe ke por komputilo, kaj 65 1545 01:09:50,960 --> 01:09:52,770 Estas laŭvorte la sama afero. 1546 01:09:52,770 --> 01:10:03,430 Do se mi skribos ion kiel char c egalas al, mi povis samtempe 1547 01:10:03,430 --> 01:10:06,890 simple skribi 65 ĉi tie kaj ĝi estus ekzakte la sama, OK? 1548 01:10:06,890 --> 01:10:08,470 Ne estas diferenco ajn. 1549 01:10:08,470 --> 01:10:12,420 >> Ni kutime emas meti karakteroj en variabloj de tipo. 1550 01:10:12,420 --> 01:10:16,770 Char, ne ĉar ili estas esence faris por tio, sed ĉar 1551 01:10:16,770 --> 01:10:18,050 de homa konvencio. 1552 01:10:18,050 --> 01:10:22,410 Sed vi povas simple trakti entjeroj anstataŭ variabloj de tipo char, 1553 01:10:22,410 --> 01:10:23,490 kaj vi estos pura. 1554 01:10:23,490 --> 01:10:28,410 La sola reala diferenco inter char c kaj int i 1555 01:10:28,410 --> 01:10:31,960 estas ke int havas kvar bajtoj en plej sistemoj, dum char havas unu bajto. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 Ili estas esence la samon en terminoj de datumoj. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 Do kio presos tie? 1560 01:10:37,990 --> 01:10:43,780 Tie ni presi cifera uzante printf kun plus 1, kaj simple kiel entjeroj, 1561 01:10:43,780 --> 01:10:46,240 signojn povas resumi, do karakteroj povas esti sumita. 1562 01:10:46,240 --> 01:10:47,890 Do tio estas ekzakte 65. 1563 01:10:47,890 --> 01:10:49,950 Do tuj estos 66 kaj tie ni havas 1564 01:10:49,950 --> 01:10:56,860 65 plus iom minus granda A kiu estos, mi ne vere scias. 1565 01:10:56,860 --> 01:11:00,900 Sed estos precize la breĉo inter la majuskloj 1566 01:11:00,900 --> 01:11:07,800 kaj la malgrandaj literoj, do Ni tuj akiri malgrandan, dekstra? 1567 01:11:07,800 --> 01:11:08,300 Yeah. 1568 01:11:08,300 --> 01:11:11,740 Do tiu tuj presi karaktero kiu estas ĝuste ĉi tiu. 1569 01:11:11,740 --> 01:11:12,260 Bona? 1570 01:11:12,260 --> 01:11:12,860 Demandojn? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> Ĉi tie ni havas multajn malsamajn tipoj por nombra variabloj. 1573 01:11:19,430 --> 01:11:20,620 Ni jam parolis pri int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float estas simple maniero to-- tio vere amuzaj, ĉar kiam mi unue lernis 1576 01:11:27,760 --> 01:11:32,320 plani reen en la tago kun Python, la unua programo kiun mi iam 1577 01:11:32,320 --> 01:11:37,480 provis skribi, mi vidis, ke ne estis tipo nomita en kaj tipo nomita kaleŝego. 1578 01:11:37,480 --> 01:11:39,800 Kaj la kaleŝego estis por ĉiuj reelaj nombroj. 1579 01:11:39,800 --> 01:11:43,290 Tial mi demandis kial Mi iam uzos int do? 1580 01:11:43,290 --> 01:11:45,590 Ĉar se mi povas uzi ĉiujn reelaj nombroj kun kaleŝego, 1581 01:11:45,590 --> 01:11:47,120 Mi simple ĉesi uzi ints, dekstra? 1582 01:11:47,120 --> 01:11:49,550 Ĉar reelaj nombroj estas multe kiel pli ĝenerala. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> Ĝi rezultas ke tiu estas ne estas la kazo en komputiloj 1585 01:11:54,060 --> 01:11:58,480 ĉar ili estas esence malsamaj aferoj. 1586 01:11:58,480 --> 01:12:01,470 Do entjeroj kaj flosoj, La operacioj kiujn vi faros al ili 1587 01:12:01,470 --> 01:12:04,739 estas esence malsama ĉar de la vojo, kiun ili stokas, OK? 1588 01:12:04,739 --> 01:12:07,280 Ni tuj parolos iom iom pli pri tio en dua. 1589 01:12:07,280 --> 01:12:09,110 >> Do duoblan estas nur granda kaleŝego. 1590 01:12:09,110 --> 01:12:12,830 Kutime en plej multaj sistemoj, kaleŝego Estas kvar bajtoj, ĝuste kiel int. 1591 01:12:12,830 --> 01:12:15,440 Kaj duobla ok bajtoj. 1592 01:12:15,440 --> 01:12:21,450 Longa tempo estas fakte nur simbolo ke vi postglui al tipo kiel int. 1593 01:12:21,450 --> 01:12:24,040 Vi diras long long int kiel ĉi. 1594 01:12:24,040 --> 01:12:28,550 Long long int x fari gxin plu. 1595 01:12:28,550 --> 01:12:32,310 Tiel en la plej multaj sistemoj, kiu donos ok bajtoj anstataux la kutimaj kvar. 1596 01:12:32,310 --> 01:12:35,620 Kaj vi povas reale haltigu en, do ĝi povas simple diri longa longa, 1597 01:12:35,620 --> 01:12:37,240 kaj kiu laboras tro, OK? 1598 01:12:37,240 --> 01:12:42,850 Vi povas ankaŭ fari aliajn aferojn kiel unsigned int, aŭ denove nur sensigna 1599 01:12:42,850 --> 01:12:43,680 ankaŭ funkcii. 1600 01:12:43,680 --> 01:12:49,370 Kaj kiu farus x esti variablo kiel ĉiu estas pozitiva, 1601 01:12:49,370 --> 01:12:53,231 do vi povas ne vere havas negativan nombroj en la vojo, kiun ni vidis ĝis tie. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 Do jena mirindan glitpunktaj kaj precizeco. 1604 01:12:58,650 --> 01:13:01,890 Tio estas unu el la kialoj kial vi deziras uzi ints anstataŭ kaleŝegoj, 1605 01:13:01,890 --> 01:13:04,370 ĉar ints estas 100% ĝusta, dekstra? 1606 01:13:04,370 --> 01:13:06,170 Estas ĝuste tio nombro. 1607 01:13:06,170 --> 01:13:11,910 Por flosante punktoj, se vi diru respondo estas 1 super 10-- 1608 01:13:11,910 --> 01:13:14,690 Mi hazarde havas precize tiu programo tie ĉi, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 Kiu presas 20 dekumaj lokoj. 1611 01:13:19,420 --> 01:13:23,270 1 dividita per 10, kaj ke kutime estas 0.1, dekstra? 1612 01:13:23,270 --> 01:13:27,910 Sed ĉi tie, se ni faras flosi kaj tiam ni ruli ĝin, 1613 01:13:27,910 --> 01:13:30,320 Ni vidas, ke ĝi ne estas 0.1. 1614 01:13:30,320 --> 01:13:33,570 Estas 0,149 ion. 1615 01:13:33,570 --> 01:13:35,570 >> Kaj kial do? 1616 01:13:35,570 --> 01:13:40,390 Ĉar vi ne povas vere reprezentas ĉiun sola ebla reala nombro en memoro 1617 01:13:40,390 --> 01:13:42,730 ĉar estas nekalkuleblaj multaj el ili. 1618 01:13:42,730 --> 01:13:48,360 Do ni estas teknike nur povis reprezenti finia kvanto de ili 1619 01:13:48,360 --> 01:13:50,470 per finia kvanto de datumoj. 1620 01:13:50,470 --> 01:13:52,050 Sed estas vere interesa. 1621 01:13:52,050 --> 01:13:54,920 Nun ĉi almozulino la demando de kiel vi volas 1622 01:13:54,920 --> 01:13:59,299 cxirkauxiru reprezenti tiu kun bitoj, dekstra? 1623 01:13:59,299 --> 01:14:00,340 Do kiel ili flosas stokitaj? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 Kun entjeroj estis facile. 1626 01:14:03,730 --> 01:14:06,690 Sed kun kaleŝegoj vi volas maksimumigi la gamon, 1627 01:14:06,690 --> 01:14:10,530 kaj vi volas povi reprezenti grandegaj nombroj kaj tre etaj nombroj kiel 1628 01:14:10,530 --> 01:14:14,210 0.000001 samtempe. 1629 01:14:14,210 --> 01:14:15,180 Do denove, sama ludo. 1630 01:14:15,180 --> 01:14:20,470 Ĉu iu havas ideon kiel ni povus cxirkauxiru reprezenti float en memoro? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 Nur ĵetu ion. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 Jes, bonvolu. 1635 01:14:30,856 --> 01:14:33,552 >> Publiko: [inaudible] kiel se ĝi estis du ints kaj unu 1636 01:14:33,552 --> 01:14:36,890 esti la [inaudible] kaj unu estaĵo ĉio post la dekuma punkto. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, malvarmeta. 1638 01:14:37,640 --> 01:14:40,300 Do du malsamaj entjeroj. 1639 01:14:40,300 --> 01:14:45,260 Vi povas havi 12,45, do tio estas 12 kaj 45. 1640 01:14:45,260 --> 01:14:45,890 Agrabla. 1641 01:14:45,890 --> 01:14:46,973 Kio ere vi intencis diri? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 La sama afero? 1644 01:14:49,430 --> 01:14:49,930 Yeah? 1645 01:14:49,930 --> 01:14:55,630 >> Publiko: [inaudible] skribmaniero kie apartigos la bazo. 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL: Scienca skribmaniero, yeah tio kutime kio okazas. 1647 01:14:58,910 --> 01:15:01,350 Do jen kion oni nomas la mantiso. 1648 01:15:01,350 --> 01:15:06,490 Tio kio estas vere la nombro, kaj tiam la eksponento 1649 01:15:06,490 --> 01:15:08,780 estas ĝuste kie la komo estas, ĉu ne? 1650 01:15:08,780 --> 01:15:13,720 Do ĉi tiu tuj estos io de la formo 1, 2, 3, 4, 5 fojoj 10 1651 01:15:13,720 --> 01:15:15,000 la minus 4. 1652 01:15:15,000 --> 01:15:17,800 Mi ĵus rimarkis that-- yeah, ekzakte. 1653 01:15:17,800 --> 01:15:23,372 Kaj tiam tiu 10 al la minus 4 estas tuj difini kie la komo estas, OK? 1654 01:15:23,372 --> 01:15:24,330 En Brazilo oni uzas komon. 1655 01:15:24,330 --> 01:15:26,795 Jen vi uloj uzi punkto. 1656 01:15:26,795 --> 01:15:27,640 Do punkto. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> Kaj tio estas cool, ĉar tiam vi povas enfokusigi multajn viajn bitoj sur ĉi ulo 1659 01:15:34,840 --> 01:15:40,863 tie, en la mantiso, kaj tiam tio tuj estos via fakta precizeco. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 Kaj vi povas tion fari ĉu en dekuma aŭ en la duuma sistemo bazita. 1662 01:15:47,175 --> 01:15:49,781 Estas malsamaj manieroj de implementar ĉi. 1663 01:15:49,781 --> 01:15:50,280 Demandojn? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 Jes? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 Publiko: Kiom da lokoj post la dekuma [inaudible]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL: Tio estas komplika demando, ĉar ĝi estas neniam vere 100% preciza, 1670 01:16:12,610 --> 01:16:15,680 ĉar kiel vi vidas tie, kelkaj nombroj estas 100% ĝusta. 1671 01:16:15,680 --> 01:16:20,350 Mi kredas, se ni metas 0.5 tien, ĝi tuj estos 100% preciza. 1672 01:16:20,350 --> 01:16:22,220 Ĝi tuj estos 0,500000. 1673 01:16:22,220 --> 01:16:24,170 Do en tiu kazo, ĝi estas perfekta. 1674 01:16:24,170 --> 01:16:27,330 Sed en aliaj kazoj, ĝi estas multe malpli perfekta. 1675 01:16:27,330 --> 01:16:35,010 En mia sperto, kiel ĝis kvar, kvin dekumaj lokoj estas sufiĉe preciza. 1676 01:16:35,010 --> 01:16:38,300 Se vi uzas duobla, ĝi tuj esti vojo pli preciza ol tiu, OK? 1677 01:16:38,300 --> 01:16:42,750 >> ROB Bowden: Do simple ĵeti iuj pli kunteksto ĉe kaleŝegoj, 1678 01:16:42,750 --> 01:16:46,320 Mi neniam memoras 100% kiel la specifon de kaleŝegoj reale funkcias, 1679 01:16:46,320 --> 01:16:52,660 sed mi vin ĉiam memoros kiuj flosas komencas akiri senorda. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 Do la ideo estas ke kiam vi ricevas vere, vere grandaj nombroj aŭ vere, vere 1682 01:17:00,930 --> 01:17:03,470 malgrandaj nombroj, ni komencas plimalboniĝis kaj malbona 1683 01:17:03,470 --> 01:17:05,860 ĉe diferencante inter du proksimaj flosoj. 1684 01:17:05,860 --> 01:17:09,180 >> Do kiel mi ŝatas pensi estas kun flosanta punkto imprecision, 1685 01:17:09,180 --> 01:17:11,890 estas du ŝoveliloj ke se mi provas entajpi ilin 1686 01:17:11,890 --> 01:17:15,150 en C, malgraŭ la fakto ke ili estas malsamaj numeroj 1687 01:17:15,150 --> 01:17:17,340 ili tuj estos interpretita kiel la sama nombro, 1688 01:17:17,340 --> 01:17:19,006 ĉar ni ne povas stoki ilin malsame. 1689 01:17:19,006 --> 01:17:20,540 Ni bezonas uzi la saman bitoj. 1690 01:17:20,540 --> 01:17:23,220 Kaj tiel, kiam ni atingos vere, vere grandajn nombrojn, 1691 01:17:23,220 --> 01:17:28,460 parolante kiel 10 al la 300 aŭ io, estas en tiu punkto 1692 01:17:28,460 --> 01:17:33,240 ke 10 al la 300 aŭ 5 fojoj 10 al la 300 1693 01:17:33,240 --> 01:17:37,020 ne povas esti diferencita el 7 fojoj 10 al la 300. 1694 01:17:37,020 --> 01:17:39,660 Do tio estas iom granda diferenco inter la du nombroj. 1695 01:17:39,660 --> 01:17:43,830 >> Sed tiam kiam vi akiras malsupren al la normala gamo aferojn, 1696 01:17:43,830 --> 01:17:45,770 Vi inklinas esti bela bona diferenci. 1697 01:17:45,770 --> 01:17:49,020 Kaj kiam vi akiras malsupren vere malgranda, vi ankaŭ ricevas sufiĉe malbone denove. 1698 01:17:49,020 --> 01:17:52,529 Tiel kiel tuta aro da 0,0000, ĝi ricevas sufiĉe malbone. 1699 01:17:52,529 --> 01:17:53,820 GABRIEL: Yeah, do rapida noto. 1700 01:17:53,820 --> 01:17:54,670 Neniam faros. 1701 01:17:54,670 --> 01:17:57,590 Neniam provu kompari flosas uzante egaluloj Egalas, 1702 01:17:57,590 --> 01:18:02,800 ĉar eĉ se ili estas preskaŭ la sama, preskaŭ la samaj ne estas la sama. 1703 01:18:02,800 --> 01:18:06,360 Do, kion vi kutime faras estas vi subtrahi ili prenos la absoluta valoro de tio, 1704 01:18:06,360 --> 01:18:12,380 kaj vidi se tiu malgranda ol 0,0001 aŭ iel simile, OK? 1705 01:18:12,380 --> 01:18:12,880 Kaj malvarmeta. 1706 01:18:12,880 --> 01:18:16,630 Mi scias ke multaj personoj havas iuj fono en Java, 1707 01:18:16,630 --> 01:18:19,700 precipe tiuj kiuj faris AP komputiko, dekstra? 1708 01:18:19,700 --> 01:18:23,630 Kaj Java estas lingvo ke plejparte bazita sur C, 1709 01:18:23,630 --> 01:18:26,570 Ĝi havas paron tre grandaj diferencoj. 1710 01:18:26,570 --> 01:18:31,430 Sed por masxojn, oj, kaj aĵoj kiel ke ili ĉiuj havas la saman sintakson. 1711 01:18:31,430 --> 01:18:35,240 Mi havas kelkajn programojn tie por montri tion. 1712 01:18:35,240 --> 01:18:37,050 >> Tiel ekzemple, simpla saluton mondo. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 Tio estas saluton mondo en C, kiun vi infanoj estas definitive familiara kun, 1715 01:18:46,600 --> 01:18:49,100 kaj tiu kaj ĉi tiu estas en Java. 1716 01:18:49,100 --> 01:18:53,100 Do en Java havas ĉi publika klaso, saluton mondo, 1717 01:18:53,100 --> 01:18:57,050 kaj publika statika void ĉefa, kaj kordoj args. 1718 01:18:57,050 --> 01:18:59,665 La kordoj args iras aperi en C tre baldaŭ. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 Sed ni ne iru tien ankoraŭ. 1721 01:19:01,990 --> 01:19:06,060 Ĝuste nun ni havas nula tie, kiu signifas ke ĉefa ne prenas neniun argumentoj. 1722 01:19:06,060 --> 01:19:09,220 Kaj tiam ni havas System.out.println, La kaj tio 1723 01:19:09,220 --> 01:19:11,140 speco de ekvivalento por printf. 1724 01:19:11,140 --> 01:19:17,150 Ĉi tie ni ne vere bezonas la backslash n ĉar print ln faras tion por vi. 1725 01:19:17,150 --> 01:19:19,680 Ĝi appends la backslash n ĉe la fino de la linio. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> Sed se vi iras en iu kiel por vi 1728 01:19:30,415 --> 01:19:32,590 povas vidi ke ili estas preskaux la samo. 1729 01:19:32,590 --> 01:19:37,390 Do inicialización kaj la kondiĉo, kaj la ĝisdatigo 1730 01:19:37,390 --> 01:19:42,050 is-- mi eraris spaco here-- ili estas preskaux la samo, krom Java 1731 01:19:42,050 --> 01:19:44,430 havas kiel kelkaj pli alta nivelo ajxoj. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 Tie ni povas fari pli mi kaj Java aŭtomate 1734 01:19:49,610 --> 01:19:52,730 fari ĉi i tie, kiu estas entjera, en ŝnuro, 1735 01:19:52,730 --> 01:19:55,200 kaj poste aldoni la du ŝnuroj kune. 1736 01:19:55,200 --> 01:19:57,570 Tie en C ni bezonas fari la &% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 La linio tie, la por aspektas ekzakte la sama. 1739 01:20:18,170 --> 01:20:37,760 >> Kaj se ni rigardas se, la oj ankaŭ aspektas ekzakte la sama, ĉu ne? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 Do la vera granda diferencoj estas en tiuj aĵoj kiujn vi vidas ĉi tie. 1742 01:20:44,650 --> 01:20:47,530 Publika senmova, dezerta, kaj tiam publikan klaso se. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 Do Java havas kio estas nomita virtuala maŝino. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 Kaj estas tre peze bazita sur kio nomas objektema programado, 1747 01:21:00,150 --> 01:21:04,120 kiu estas tre, tre komuna paradigmo por programado nuntempe. 1748 01:21:04,120 --> 01:21:10,870 Kaj tiu klaso estas kio vi vidas, ion de objekto orientiĝo, 1749 01:21:10,870 --> 01:21:14,214 Estas vi kreas klason kaj tiam vi povas derivi celoj de tiu klaso. 1750 01:21:14,214 --> 01:21:16,380 Ni ne iras paroli tro multe pri tio en CS50, 1751 01:21:16,380 --> 01:21:18,213 sed tio estas definitive io vere malvarmeta, 1752 01:21:18,213 --> 01:21:21,440 speciale se vi volas iri en pli kompleksa retejo disvolviĝo 1753 01:21:21,440 --> 01:21:24,050 ĉe la fino de la kurso, kiel submetiĝi via fina projekto 1754 01:21:24,050 --> 01:21:26,430 kaj iuj belaj kadroj kaj vazojn. 1755 01:21:26,430 --> 01:21:31,250 >> Do esence la ideo estas ke vi ne volas re-apliki ion, 1756 01:21:31,250 --> 01:21:36,330 tiel oni kreas iun kiu estas tre genérica, kiel la formo, 1757 01:21:36,330 --> 01:21:38,310 kaj tiam vi kreas diversaj formoj de gxi, 1758 01:21:38,310 --> 01:21:40,240 kaj poste unuj el tiujn formojn, oni kreas 1759 01:21:40,240 --> 01:21:45,110 iuj pli specifaj formoj en tri dimensiojn aŭ io simila. 1760 01:21:45,110 --> 01:21:48,799 Kaj ili havas ĉi hierarkio ili heredi de la aliaj, do 1761 01:21:48,799 --> 01:21:51,840 ĉiuj funkcioj kaj ĉiuj variabloj kiuj la grandan formon tie havas, ĉiuj tiuj 1762 01:21:51,840 --> 01:21:54,110 tuj havos, kaj ĉiuj el tiuj estas tuj havos, kaj tiel plu kaj tiel plu. 1763 01:21:54,110 --> 01:21:55,640 Do tio estas la baza ideo. 1764 01:21:55,640 --> 01:21:59,170 >> C ne havas tiun, sed C ++ ne havas tian funkcion. 1765 01:21:59,170 --> 01:22:02,710 Kaj Java estas forte influitaj per objekto orientiĝo, 1766 01:22:02,710 --> 01:22:05,310 tial estas kial vi vidas klaso tie la tutan tempon. 1767 01:22:05,310 --> 01:22:10,790 Kaj la alia afero estas ĉi Ĝava virtuala maŝino. 1768 01:22:10,790 --> 01:22:13,790 Do, mi pensas, estas tre inteligenta ideo. 1769 01:22:13,790 --> 01:22:17,020 Do kio estas la ulojn kiuj elpensis java faris estas 1770 01:22:17,020 --> 01:22:19,630 ili ne volis kompili sian kodon dufoje 1771 01:22:19,630 --> 01:22:23,990 se ili devis kuri ĝin en Windows, aŭ Mac aŭ Linukso, do kion fari 1772 01:22:23,990 --> 01:22:26,740 Estas ili laŭvorte kuri io kiel la aparato, 1773 01:22:26,740 --> 01:22:29,630 sed vi ne vere vidas okazas. 1774 01:22:29,630 --> 01:22:32,430 Ili kuras virtuala maŝino ene de la komputilo, kiu 1775 01:22:32,430 --> 01:22:34,940 estas esence kiel mini mastruma sistemo. 1776 01:22:34,940 --> 01:22:37,920 Kaj tiu mastruma sistema celo en la vivo 1777 01:22:37,920 --> 01:22:41,430 Estas simple kuri kio nomiĝas bajto kodon. 1778 01:22:41,430 --> 01:22:47,411 >> Do anstataŭ en C, la vojo ni havus kompili ĉi estas fari se, kaj poste ekzekuti 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 Mi forgesis la backslash en. 1782 01:22:55,290 --> 01:23:00,240 En Java, oni farus unue Java C kompili ĝin, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 Ne estas C. La skalara java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 Kaj tiam vi devos ne kuras ./. 1787 01:23:12,140 --> 01:23:15,440 Vi ricevas tiun novan dosieron if.class, sed vi ne povas vere 1788 01:23:15,440 --> 01:23:17,980 kuri if.class nun nur kiel ni faris antaŭe. 1789 01:23:17,980 --> 01:23:19,440 Tiu ne estas plenumebla. 1790 01:23:19,440 --> 01:23:20,630 Vi devas kuri. 1791 01:23:20,630 --> 01:23:23,410 Vi devas nutri ĝin programo nomita Java, 1792 01:23:23,410 --> 01:23:28,260 kaj tiu programo estas la virtuala maŝino, kaj tiam vi faras if.class, aŭ se. 1793 01:23:28,260 --> 01:23:28,760 Jes. 1794 01:23:28,760 --> 01:23:30,890 Kaj tiam ĝi funkcias. 1795 01:23:30,890 --> 01:23:33,740 OK tia ĉi estas afabla de la virtuala maŝino okazas. 1796 01:23:33,740 --> 01:23:37,700 C ne havas tiun, do se mi metis tiun programon en Vindoza komputilo, 1797 01:23:37,700 --> 01:23:40,516 ĝi ne funkcius en C. En Javo faras. 1798 01:23:40,516 --> 01:23:41,015 Demandojn? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 Malvarmeta. 1801 01:23:44,030 --> 01:23:47,160 Tio se por súper sekcio por hodiaŭ. 1802 01:23:47,160 --> 01:23:49,462