1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB Bowden: Ovo je udobnije poglavlje, 3 00:00:13,351 --> 00:00:16,309 ali to ne znači da ako vas Osjećam se kao da nisi ugodniji 4 00:00:16,309 --> 00:00:18,420 nećete naučiti stvari ovdje. 5 00:00:18,420 --> 00:00:20,600 Tako ćemo početi. 6 00:00:20,600 --> 00:00:22,819 Imate li slajdova ide ravno u stvari. 7 00:00:22,819 --> 00:00:24,360 Jesam li o tome da ga samo uzeti upravo sada? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 Prebacivanje laptop. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> ALLISON: Vi ne želite predstaviti sebe, Rob? 12 00:00:32,950 --> 00:00:34,090 >> ROB Bowden: Oh, ja sam Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 Ovo je moja peta godina TF-ing CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: Ja sam Gabriel. 17 00:00:39,650 --> 00:00:41,610 Ja sam šef TF od CS50. 18 00:00:41,610 --> 00:00:44,009 Bio sam TF lani i ove godine. 19 00:00:44,009 --> 00:00:46,675 ALLISON: I ja sam Alison, i to je moja druga godina TF-ing CS50. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB Bowden: U redu, tako da ova stvar na lijevoj strani, 22 00:00:50,825 --> 00:00:52,250 nadam se da ste ga vidjeli. 23 00:00:52,250 --> 00:00:54,112 Ako ne zbog tebe skinuti ga za sebe, 24 00:00:54,112 --> 00:00:55,570 trebali ste ga vidjeti u predavanju. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 Dakle, ovo je CS50 aparat, a on učinio nešto od opisa njega 27 00:01:01,320 --> 00:01:01,880 U predavanju. 28 00:01:01,880 --> 00:01:06,890 Ali u osnovi to samo ti se izvodi operativni 29 00:01:06,890 --> 00:01:10,550 Sustav unutar vašeg poslovanja sustav tako da možemo vam dati 30 00:01:10,550 --> 00:01:12,540 Programi bez potrebe brinuti, oh je to 31 00:01:12,540 --> 00:01:15,989 raditi na oba Windows i Mac, ili ako neki od vas 32 00:01:15,989 --> 00:01:17,280 već koriste Linux, Linux. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 To je samo trebao biti zajedničko igranje 35 00:01:20,240 --> 00:01:23,010 polje tako da svatko ima Isto točno okoliš. 36 00:01:23,010 --> 00:01:25,344 >> Dakle, ako niste skinuti to je već, 37 00:01:25,344 --> 00:01:28,510 trebali biste ga skinuti, jer si ide to potrebno za set problema. 38 00:01:28,510 --> 00:01:32,335 I to je dva gigabajta skinuti, tako da bi to moglo potrajati neko vrijeme. 39 00:01:32,335 --> 00:01:33,780 Na Harvardu to će ići brzo. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 Tako CS50 aparat. 42 00:01:37,440 --> 00:01:41,980 >> Sada u početku, idemo u govoriti o samo hrpa naredbenog retka 43 00:01:41,980 --> 00:01:46,880 stvari, i tako to, mislim raditi U ovom malom okruženju ovamo. 44 00:01:46,880 --> 00:01:53,230 I primijetiti sve stvari Kažem ovdje upravo sada 45 00:01:53,230 --> 00:01:56,900 idu na posao ako ste unutar terminala unutar aparata, 46 00:01:56,900 --> 00:02:00,790 ili ako su unutar Prozor gedit terminala 47 00:02:00,790 --> 00:02:02,090 unutar uređaja. 48 00:02:02,090 --> 00:02:03,770 Dakle, oni okruženja su identični. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> Ali ja ću otići treći put. 51 00:02:07,270 --> 00:02:12,200 I ovdje primijetiti ovaj dolje Malo IP adresu ovdje. 52 00:02:12,200 --> 00:02:15,940 Dakle, ne morate se to učiniti, ali to IP 53 00:02:15,940 --> 00:02:19,700 address-- sada, ako I-- osim to je blokirao ovu stvar. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 U redu, tako da je IP adresa više u terminalu 56 00:02:27,000 --> 00:02:31,090 here-- tako da je ovo terminala iznad Ovdje je terminal u mom Macu. 57 00:02:31,090 --> 00:02:34,540 Dakle, ovo je ni na koji način trenutno povezana s aparatom na sve. 58 00:02:34,540 --> 00:02:39,360 A ako ste na Windows, onda ste Trebat će preuzeti nešto 59 00:02:39,360 --> 00:02:44,430 posebno za to, naročito ljudi imaju tendenciju koristiti kit, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> Dakle, ono što ću učiniti je tip SSH i onda to IP adresa. 61 00:02:50,700 --> 00:02:54,030 Pa, jharvard na toj IP adresi. 62 00:02:54,030 --> 00:03:00,150 Tako 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 Ova zastrašujuća poruka, ignorirajte ga. 64 00:03:02,127 --> 00:03:02,710 Samo upišite yes. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 Ovo je CS50 u kutiji. 67 00:03:06,030 --> 00:03:07,460 Ona traži vašu lozinku. 68 00:03:07,460 --> 00:03:11,910 >> I tako u puno tih situacija gdje ona pita za lozinku, [nečujan]. 69 00:03:11,910 --> 00:03:15,670 Imamo puno pitanja gdje ona kaže da nije zapravo tipkati. 70 00:03:15,670 --> 00:03:20,011 To vam ne pokazuju znakove lozinke dok tipkate, ako ništa drugo, 71 00:03:20,011 --> 00:03:23,010 za sigurnosne značajke, jer ako netko gleda preko ramena 72 00:03:23,010 --> 00:03:25,870 i oni vide zvijezde zvijezdu star star, onda oni 73 00:03:25,870 --> 00:03:28,640 znate da je vaša lozinka četiri znaka. 74 00:03:28,640 --> 00:03:32,660 Dakle, ideja je da će zatražiti ste za svoj password, tipa. 75 00:03:32,660 --> 00:03:34,490 To se neće pokazati vi likovi, 76 00:03:34,490 --> 00:03:36,090 ali to je zapravo ih prihvaća. 77 00:03:36,090 --> 00:03:39,210 U tom slučaju, bilo vam vrijeme ikada vidjeli lozinku upit 78 00:03:39,210 --> 00:03:42,280 bave aparata, Lozinka će biti grimizne. 79 00:03:42,280 --> 00:03:43,270 Tako grimizne. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> A sada ovdje u ovo prozor koji je u mom Mac, 82 00:03:50,550 --> 00:03:54,120 Ja sam u osnovi ima Isto točan prikaz 83 00:03:54,120 --> 00:03:57,040 kao unutar terminal u aparatu. 84 00:03:57,040 --> 00:03:58,470 Dakle, ne morate to učiniti. 85 00:03:58,470 --> 00:04:01,300 To možete učiniti sve što vam Želite unutar aparata. 86 00:04:01,300 --> 00:04:05,140 Ja gotovo nikad zapravo učiniti ništa u aparatu. 87 00:04:05,140 --> 00:04:09,440 Ja gotovo uvijek se smanjila da je i sad Radim SSH u aparat. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> Ako ništa drugo, ako vas imaju sporiji računalo, 90 00:04:14,180 --> 00:04:15,820 možda ćete primijetiti razliku. 91 00:04:15,820 --> 00:04:18,839 Ovo radim jer sam radije ovo terminala prozor. 92 00:04:18,839 --> 00:04:20,881 Ona ima neke značajke kao što su Ja mogu podijeliti prozor, 93 00:04:20,881 --> 00:04:22,672 i sad ja mogu SSH u kroz aparata. 94 00:04:22,672 --> 00:04:24,105 Dobio sam dva SSH se događa odjednom. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 Ako vaše računalo je posebno spor i radite u aparatu, 97 00:04:32,250 --> 00:04:35,200 i shvatite to stvarno laggy, god. 98 00:04:35,200 --> 00:04:38,220 Tendira biti puno brže ako si SSH-ed u. 99 00:04:38,220 --> 00:04:40,960 Ali inače možete raditi u oba smjera. 100 00:04:40,960 --> 00:04:42,388 >> PUBLIKA: Što SSH znači? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB Bowden: Secure školjke, nešto slično? 103 00:04:47,479 --> 00:04:48,270 Što SSH znači? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL: Sigurna ljuska. 106 00:04:55,130 --> 00:04:56,463 ALLISON: To je samo sigurne ljuske. 107 00:04:56,463 --> 00:04:57,720 ROB Bowden: Sigurna ljuska. 108 00:04:57,720 --> 00:05:03,700 To je protokol koji you-- je siguran protokol, tako kodiran. 109 00:05:03,700 --> 00:05:06,850 Ljudi ne mogu Snoop mrežu i vidi što govoriš da ništa 110 00:05:06,850 --> 00:05:08,120 ti si SSH-ed na. 111 00:05:08,120 --> 00:05:12,900 A u stvari, u ostariti dana CS50, pa u 2009. godini 112 00:05:12,900 --> 00:05:19,300 kad sam bio brucoš, način na koji ste radili na CS50 problema setovima, 113 00:05:19,300 --> 00:05:22,490 je li SSH-ed na neki server da mi je dao vam pristup, 114 00:05:22,490 --> 00:05:23,497 a vi radili tamo. 115 00:05:23,497 --> 00:05:25,330 Dakle, nisu imali ovu grafički aparat. 116 00:05:25,330 --> 00:05:26,160 Niste imali gedit. 117 00:05:26,160 --> 00:05:28,930 Niste imali sve te stvari koje možete vizualno točku i kliknite. 118 00:05:28,930 --> 00:05:30,346 Morao si raditi u ovom sučelju. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 Volim raditi u ovom sučelju. 121 00:05:33,716 --> 00:05:36,090 Dakle, dio onoga što ćemo da se ide na preko upravo sada 122 00:05:36,090 --> 00:05:39,560 su hrpa naredbe koje ste trebali 123 00:05:39,560 --> 00:05:42,095 započeti kako bi se upoznali sa što idete zajedno u tijeku. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 I iskreno, nakon što vas naviknuti na njih, to 126 00:05:45,790 --> 00:05:48,220 toliko mnogo brže raditi u ovom okruženju 127 00:05:48,220 --> 00:05:53,690 nego što je to raditi s tražila povučete i klikom stvari. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> Dakle, ovdje smo. 130 00:05:57,210 --> 00:06:01,779 Sada sam samo SSH-ed u, i tako zadani vas mjesto-- 131 00:06:01,779 --> 00:06:04,820 vidio neke od tih naredbi u razredu, ali mi ćemo ići preko svih njih opet. 132 00:06:04,820 --> 00:06:08,060 Zadana mjesto smo U kući je katalog. 133 00:06:08,060 --> 00:06:11,520 I katalog, samo drugo ime za mapu. 134 00:06:11,520 --> 00:06:13,310 Tako smo u početnoj imenik. 135 00:06:13,310 --> 00:06:15,889 Upišite ls, popis datoteka u ovom direktoriju. 136 00:06:15,889 --> 00:06:17,430 Očito sam stvorio blah.c ranije. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 Dakle, imamo desktop imenik. 139 00:06:20,472 --> 00:06:21,930 Možete primijetiti sintakse? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 Svijetlo plava isticanje ukazuje imenik i ravno bijeli 142 00:06:32,900 --> 00:06:34,380 pokazuje samo običan datoteku. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 Tako će biti neke druge boje koje vidite. 145 00:06:37,690 --> 00:06:41,240 Izvršna datoteka vjerojatno ide biti zelena ili nešto slično. 146 00:06:41,240 --> 00:06:44,820 U redu, tako da smo u početnoj imenik. 147 00:06:44,820 --> 00:06:48,970 >> Sad ako želim ići u različite katalog, cd je naredba želim. 148 00:06:48,970 --> 00:06:52,720 Dakle promijeniti imenik, a onda prolaze ime imeniku 149 00:06:52,720 --> 00:06:54,020 da želite ići u. 150 00:06:54,020 --> 00:06:55,780 Dakle, ovdje imamo četiri opcije. 151 00:06:55,780 --> 00:07:03,397 Mogu ići u preuzimanja, a sada vidimo ovdje je obnovljeno to usputna 152 00:07:03,397 --> 00:07:04,480 reći da sam u ~ / download. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> Dakle, ono što je tilda? 155 00:07:06,800 --> 00:07:10,640 To je skraćenica za Vaš dom katalog. 156 00:07:10,640 --> 00:07:15,260 Dakle, gotovo sve što vam je činiti će biti s obzirom na vašu kućnu imenik, 157 00:07:15,260 --> 00:07:20,620 i zap je samo naredba Koristim jednom u godini koja 158 00:07:20,620 --> 00:07:22,420 Samo ispisuje trenutni direktorij. 159 00:07:22,420 --> 00:07:25,730 I tako vidite da se ovdje ~ / Preuzimanja stvarno rješava 160 00:07:25,730 --> 00:07:26,896 na / home / jharvard / preuzimanja. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 Dakle / naslovna / jharvard je moj dom katalog. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Tako možemo cd dot dot. 165 00:07:39,400 --> 00:07:47,800 Sada točka točka je poseban katalog koji Uvijek se odnosi na jedan katalog up. 166 00:07:47,800 --> 00:07:51,730 Dakle, ako sam u ~ / preuzimanja, zatim cd dot točka će me dovesti do Tilde. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 Što mislimo cd dot dot će me dovesti do sad? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 To će me dovesti do / kuće. 171 00:08:00,570 --> 00:08:04,450 Dakle, Tilde strane ispisa radnog imeniku, Ja sam sada / kuće / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 jedan katalog iz toga, Sada ovdje piše / kući. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> Sada cd točkica točku. 176 00:08:17,180 --> 00:08:20,910 Sada sam u root direktorij, i ne možete to učiniti opet. 177 00:08:20,910 --> 00:08:23,340 Samo ćeš ostati u korijenski direktorij zauvijek. 178 00:08:23,340 --> 00:08:26,700 Korijenski direktorij ima cijela hrpa stvari koje, ako želite pogledati u, 179 00:08:26,700 --> 00:08:27,410 možete. 180 00:08:27,410 --> 00:08:29,700 Na primjer, ako odem u smeće, koja sadrži 181 00:08:29,700 --> 00:08:35,789 sve ove binarne datoteke, kao što su ls, i CD, a sve te stvari. 182 00:08:35,789 --> 00:08:38,630 Dakle, ove naredbe trebaju negdje postoji u sustavu, 183 00:08:38,630 --> 00:08:40,820 i to je u / bin direktorij. 184 00:08:40,820 --> 00:08:44,530 No, gotovo sve što trebate učiniti je će biti iz svog doma imenik. 185 00:08:44,530 --> 00:08:49,490 I cd bez ikakvih argumenata bilo koje vrste, moglo bi se reći cd ~, ne trebaju. 186 00:08:49,490 --> 00:08:51,810 CD će vam donijeti natrag na početnu imenik. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> Jedan posljednji. 189 00:08:54,230 --> 00:09:00,200 cd - će vas vratiti u Posljednji katalog koji ste bili u. 190 00:09:00,200 --> 00:09:04,080 Pa upravo sam cd'd dva puta za redom, tako da je moj Posljednji katalog je katalog kući. 191 00:09:04,080 --> 00:09:11,520 Ako odem smanjiti smeće, a sada idemo gore i na korisnika. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 Korisnik udjela. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 Idemo na korisničkom dionici. 196 00:09:15,940 --> 00:09:17,140 Sada sam sada u korisničkom dionici. 197 00:09:17,140 --> 00:09:19,320 cd -, ponovno u smeće. 198 00:09:19,320 --> 00:09:22,980 Dakle, to dobiva posebno korisna kada have-- i to ću popisa. 199 00:09:22,980 --> 00:09:25,660 Dakle korisnika dionici, leđa smeće, dionica smeće. 200 00:09:25,660 --> 00:09:27,250 >> Dakle, ovaj dobiva korisna. 201 00:09:27,250 --> 00:09:33,150 Vi svibanj pronaći sebe ima mnogo, mnogo, mnogo ugniježđena imenici. 202 00:09:33,150 --> 00:09:37,370 A vi želite učiniti nešto jako brzo u gornjoj imenik. 203 00:09:37,370 --> 00:09:40,330 Možete ići na taj direktorij, provjerite Promjene i stvari kao što je to, 204 00:09:40,330 --> 00:09:42,400 a sada želite ići natrag do mjesta gdje ste bili. 205 00:09:42,400 --> 00:09:43,660 cd -. 206 00:09:43,660 --> 00:09:47,320 Uvijek sam frustriran kad sam se dogoditi da ide 207 00:09:47,320 --> 00:09:49,630 na taj imenik I. htjeli da rade u. 208 00:09:49,630 --> 00:09:52,670 Uvijek sam dobiti frustriran kada sam učinio je u dva koraka, umjesto jednog koraka, 209 00:09:52,670 --> 00:09:55,715 jer to znači da je cd - ide dovesti u tu posrednoj lokaciji 210 00:09:55,715 --> 00:09:57,010 umjesto gdje želim ići. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> Dakle, vidimo sve datoteke u popis. 213 00:10:01,450 --> 00:10:03,300 Mi znamo kako da biste dobili okolo do sada. 214 00:10:03,300 --> 00:10:09,900 Dakle, sada ćemo govoriti o uređivanju datoteka. 215 00:10:09,900 --> 00:10:18,790 Tako je u ovom tečaju, ti si gotovo uvijek očekuje da će koristiti gedit. 216 00:10:18,790 --> 00:10:24,410 Ako želite, možete poduzeti sljedeći korak i početi učiti tekst naredbenog retka 217 00:10:24,410 --> 00:10:25,240 urednik. 218 00:10:25,240 --> 00:10:27,560 Dakle, postoje razne opcije. 219 00:10:27,560 --> 00:10:31,760 >> A one koje su vjerojatno će biti relevantni za vas, 220 00:10:31,760 --> 00:10:35,340 imamo Nano, Vim i Emacs. 221 00:10:35,340 --> 00:10:40,196 Dakle, Nano je početnici naredbenog retka tekst editor. 222 00:10:40,196 --> 00:10:42,985 Dakle Nano idemo na blah.c sam stvorio ranije. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 To je samo ovaj standard C datoteku. 225 00:10:46,480 --> 00:10:51,540 I vidjet ćete hrpu stvari događa na dnu zaslona, 226 00:10:51,540 --> 00:10:54,100 i očito blah.c sadrži ovaj C koda. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> Dakle, u ovom konkretnom urednika, ono što govori na bottom-- 229 00:11:00,330 --> 00:11:06,290 Sada to znak za umetanje simbola, vidimo tu ^ G, ^ X, ^ O. 230 00:11:06,290 --> 00:11:10,310 Tako da je u gotovo svim Kontekst što vidite, 231 00:11:10,310 --> 00:11:13,530 možete vidjeti da je znak za umetanje simbola u drugih mjesta online, na Stack Overflow, 232 00:11:13,530 --> 00:11:14,450 nešto slično. 233 00:11:14,450 --> 00:11:16,970 To je gotovo uvijek se odnosi na kontrolu. 234 00:11:16,970 --> 00:11:21,590 Dakle, za izlaz želim napraviti Kontrola X. Kontrola X, izlazi. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 I ja mogu koristiti moj strelicu tipke za pomicanje. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 Obavijest ja ne mogu ukazati i kliknite lako. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 Morate koristiti svoj strelicu tipke za pomicanje. 241 00:11:35,010 --> 00:11:36,950 Tu bi moglo biti postavka za točku i kliknite. 242 00:11:36,950 --> 00:11:40,000 >> Ali neka se napraviti neke promjene. 243 00:11:40,000 --> 00:11:42,100 Sada Kontrola X ići izlaz. 244 00:11:42,100 --> 00:11:44,120 To će reći štedite modificiranom tampon. 245 00:11:44,120 --> 00:11:47,900 Sada upit, y za da, n za ne. 246 00:11:47,900 --> 00:11:49,900 Kontrola C za odustajanje. 247 00:11:49,900 --> 00:11:50,780 Ja ću samo reći da. 248 00:11:50,780 --> 00:11:51,709 File naziv za pisanje. 249 00:11:51,709 --> 00:11:53,500 Zadana je datoteka da već je. 250 00:11:53,500 --> 00:11:54,230 Hit Enter. 251 00:11:54,230 --> 00:11:54,740 U redu. 252 00:11:54,740 --> 00:11:58,580 Sada sam upravo uredio tu datoteku, ga spasio, i to se promijenilo. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> Dakle, Nano je najlakši tekst editor priviknuti. 255 00:12:03,000 --> 00:12:05,520 Alternative su Vim i Emacs. 256 00:12:05,520 --> 00:12:11,250 Oni su više razine teksta urednika da imaju vrlo strma krivulja učenja. 257 00:12:11,250 --> 00:12:13,740 Dakle, moja osobna preferencija je Vim. 258 00:12:13,740 --> 00:12:17,175 I to ima široku paletu mogućnosti. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 A kada se naviknete na njega, nikad vi ćete 261 00:12:24,070 --> 00:12:26,900 želite ići na bilo koji drugi tekst editor, jer vas jednostavno 262 00:12:26,900 --> 00:12:29,590 ima toliko stvari dostupne u njih, 263 00:12:29,590 --> 00:12:31,690 ali to traje jako Dugo vremena za naučiti. 264 00:12:31,690 --> 00:12:36,000 Dakle, možda samo želite prisiliti se sada naviknuti na njega, 265 00:12:36,000 --> 00:12:38,130 ali rekao bih da je vrijedno toga. 266 00:12:38,130 --> 00:12:39,660 Ali, to je teško. 267 00:12:39,660 --> 00:12:41,220 >> A onda Emacs. 268 00:12:41,220 --> 00:12:44,940 Uvijek se bore u Emacs, jer Znam kako to učiniti apsolutno ništa. 269 00:12:44,940 --> 00:12:47,755 Očito Emacs nije po defaultu postavljeni na aparatu. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 Vjerojatno ćemo dodati da kao zadane instalacije. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 Nakon što ste naučili jednu od Vim i Emacs, postoji 274 00:13:02,390 --> 00:13:04,810 niti jedan uvjerljiv razlog da ikada naučiti druge, 275 00:13:04,810 --> 00:13:07,570 ali to je potpuno drugačiji stil. 276 00:13:07,570 --> 00:13:10,460 U redu, tako da je uređivanje tekstualnih datoteka. 277 00:13:10,460 --> 00:13:13,374 >> PUBLIKA: Ako ste zapeli u VIM upravo sada, kako we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB Bowden: Postoji više načina u VIM, 280 00:13:20,800 --> 00:13:23,770 a tu su cijelo tutorijali na učenje Vim. 281 00:13:23,770 --> 00:13:27,390 Dakle, ako vam se dogoditi da bude u insert modu u cilju 282 00:13:27,390 --> 00:13:29,930 upisati tekst, koji možete ući se na različite načine, 283 00:13:29,930 --> 00:13:31,610 ali ja je kako možete dobiti u insert modu. 284 00:13:31,610 --> 00:13:34,780 U ili dobiti iz bilo kakvu posebnu Način da ste u, samo pobjeći. 285 00:13:34,780 --> 00:13:37,640 A ti samo bash pobjeći dobiti iz bilo ugniježdenih načina tvoja u. 286 00:13:37,640 --> 00:13:40,360 Samo u redu, sad sam ponovno u normalnom načinu rada. 287 00:13:40,360 --> 00:13:43,790 >> I tako u normalnom načinu rada, debelog crijeva. 288 00:13:43,790 --> 00:13:45,160 Vidite što se pojaviti na dnu. 289 00:13:45,160 --> 00:13:46,240 A onda q. 290 00:13:46,240 --> 00:13:52,600 Dakle, q će prestati ako ste napravili promjene, što I-- nisam napravio promjene? 291 00:13:52,600 --> 00:13:54,180 Ja sam napravio promjene očito. 292 00:13:54,180 --> 00:13:57,264 Dakle, ako ste napravili izmjene, to će kažu možete staviti uskličnik. 293 00:13:57,264 --> 00:13:58,430 Ja ću ga nazvati prasak. 294 00:13:58,430 --> 00:14:02,040 Dakle, možete staviti zabranu na samo otkaz bez radiš ništa, 295 00:14:02,040 --> 00:14:04,520 ili debelog wq će spremiti i zatvoriti. 296 00:14:04,520 --> 00:14:06,580 Tako w općenito je napisati. 297 00:14:06,580 --> 00:14:08,300 Dakle, pisati datoteku. 298 00:14:08,300 --> 00:14:09,810 Mogu napisati i prestati. 299 00:14:09,810 --> 00:14:13,606 Ili možete imati samo QX Slam, q bang jednostavno 300 00:14:13,606 --> 00:14:16,230 izaći od tamo, bez obzira o svim promjenama koje ste napravili. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> U redu, tako da sada neka je go-- možemo stvarati datoteke. 303 00:14:28,940 --> 00:14:30,890 Počnimo uklanjanje datoteke. 304 00:14:30,890 --> 00:14:35,450 A ja ću samo baciti u jednom Brzo novi naredbu, dodir. 305 00:14:35,450 --> 00:14:38,200 Tako touch foo. 306 00:14:38,200 --> 00:14:39,340 Dodirnite bara. 307 00:14:39,340 --> 00:14:40,220 Dodirnite Baz. 308 00:14:40,220 --> 00:14:42,810 Ako sam ls, sada vidimo da postoje te datoteke. 309 00:14:42,810 --> 00:14:44,315 Oni su potpuno prazna. 310 00:14:44,315 --> 00:14:47,178 Dakle, dodir je samo lako način jednog, [nečujan]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 Dva, tehnički samo stanje da, to ažurira vremenske oznake. 313 00:14:54,640 --> 00:14:58,470 Dakle, bilo koju datoteku koju stvaraju ima timestamp povezane s njom. 314 00:14:58,470 --> 00:15:01,330 Dakle, Baz je stvoren na 14. rujna u 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 Sada je 16:22, pa ako Ponovno sam dotaknuti Baz, mi 317 00:15:06,670 --> 00:15:11,420 vidim da je većina Baz Nedavno izmijenjena na 16:22. 318 00:15:11,420 --> 00:15:17,680 Ali inače gotovo nikada ne pogledate Vrijeme na datotekama. 319 00:15:17,680 --> 00:15:20,490 Dakle kontaktu, evo ja sam samo pomoću to stvoriti neke brze datoteke. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> U redu, tako da sada RM je Naredba da nam je stalo ovdje. 322 00:15:27,400 --> 00:15:28,665 I možemo rm izviždati. 323 00:15:28,665 --> 00:15:31,000 Recimo uklanjanje redovito prazne datoteke izviždati. 324 00:15:31,000 --> 00:15:34,070 I možemo upisati y, a sada je uklanja. 325 00:15:34,070 --> 00:15:34,850 rm Baz. 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 Uklonite redovito prazne datoteku Baz i tip n za ništa. 328 00:15:38,620 --> 00:15:40,060 Sada to nije uklonjen. 329 00:15:40,060 --> 00:15:41,240 Tako bar i Baz i dalje postoje. 330 00:15:41,240 --> 00:15:42,232 Foo je otišao. 331 00:15:42,232 --> 00:15:43,148 GABRIEL: Držite govori. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB Bowden: Sjajno. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 Tako dosadnih poruke Ovdje, uklonite redovito empty-- 336 00:15:50,370 --> 00:15:52,390 što radiš tamo dolje? 337 00:15:52,390 --> 00:15:54,030 Uklonite redovito prazne datoteku. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 Dakle, ako ne želimo biti smeta te poruke, 340 00:16:01,610 --> 00:16:05,340 možemo baciti u ovom f zastava, i to tako da je sila. 341 00:16:05,340 --> 00:16:11,330 A sada, ako sam -F RM, to neće kažu želite ukloniti ovu datoteku. 342 00:16:11,330 --> 00:16:12,040 To ću upravo to učiniti. 343 00:16:12,040 --> 00:16:13,720 I ls, ne vidim bar tamo više. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> Sada kada je potencijalno opasne naredbe. 346 00:16:18,021 --> 00:16:19,020 Nije sklona previše loše. 347 00:16:19,020 --> 00:16:22,240 Mi ćemo se vratiti u drugi način to može dobiti vrlo opasno. 348 00:16:22,240 --> 00:16:28,740 I neka je stvoriti neki temp direktorij. 349 00:16:28,740 --> 00:16:30,880 mkdir, druga naredba. 350 00:16:30,880 --> 00:16:34,880 Dakle mkdir je naredba koji čini imenik. 351 00:16:34,880 --> 00:16:40,650 A sada po ls vidimo ovu lijepu svjetlo plavi istaknuo temp imenik. 352 00:16:40,650 --> 00:16:42,295 Mogu CD u temp. 353 00:16:42,295 --> 00:16:44,590 I ja mogu Mkdir foo. 354 00:16:44,590 --> 00:16:46,330 cd u foo. mkdir bara. 355 00:16:46,330 --> 00:16:46,860 cd u baru. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> Dakle, vidimo da se lako može doći u nekim prilično duboko gniježđenje. 358 00:16:54,300 --> 00:16:56,385 Sada kako mogu ukloniti imenik? 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 Dakle, ako sam samo ravno pokušati RM, kao što smo učinili s redovitim datoteke, 363 00:17:03,540 --> 00:17:06,420 rm bar će se kažu ne može ukloniti traku. 364 00:17:06,420 --> 00:17:07,569 To je katalog. 365 00:17:07,569 --> 00:17:10,619 Postoji posebna naredba za uklanjanje imenika, vrsta. 366 00:17:10,619 --> 00:17:12,900 Tako rmdir bara. 367 00:17:12,900 --> 00:17:13,710 Sada bar je otišao. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> U redu, tako da sam prilično rmdir nikada se ne koristi. 370 00:17:22,680 --> 00:17:32,220 Razlog being-- Sada napraviti redovite datoteke bar ovdje. 371 00:17:32,220 --> 00:17:34,780 Tako rmdir Boo. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 Nije uspjelo ukloniti foo. 374 00:17:36,900 --> 00:17:38,420 Imenik nije prazan. 375 00:17:38,420 --> 00:17:43,420 Dakle, ne možete koristiti ukloniti dir na katalog da ima stvari u njemu. 376 00:17:43,420 --> 00:17:44,830 >> Dakle, imate neke opcije. 377 00:17:44,830 --> 00:17:49,780 Možete ići u tom direktoriju, izvadite sve ručno, a onda izaći 378 00:17:49,780 --> 00:17:51,759 i rmdir imenik. 379 00:17:51,759 --> 00:17:53,050 To je očito zvuči neugodno. 380 00:17:53,050 --> 00:17:55,000 Što ako postoje tisuće datoteka u tamo? 381 00:17:55,000 --> 00:17:58,119 Pa, mogli rm *. 382 00:17:58,119 --> 00:17:59,410 Razgovarat ćemo o * u sekundi. 383 00:17:59,410 --> 00:18:00,870 To u osnovi znači da sve stvari. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 No, još bolje, pa rm -r. 386 00:18:05,470 --> 00:18:10,220 Tako rm -r-- u puno konteksti, r znači rekurzivna, 387 00:18:10,220 --> 00:18:13,810 koje ćemo razgovarati o tome što rekurzivni sredstva u nekoliko tjedana. 388 00:18:13,810 --> 00:18:18,630 No, to zapravo znači poprijeko cjelokupnost ovaj direktorij 389 00:18:18,630 --> 00:18:20,190 i uklonite sve. 390 00:18:20,190 --> 00:18:24,420 >> Dakle rm -r foo će reći sići u imenik foo? 391 00:18:24,420 --> 00:18:25,210 Da. 392 00:18:25,210 --> 00:18:26,800 Uklonite redovito prazan file Foo / bar? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 Da. 395 00:18:28,540 --> 00:18:29,760 Skinite katalog foo? 396 00:18:29,760 --> 00:18:30,260 Da. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 Tako sada Foo i sve u njoj je uklonjen. 399 00:18:35,020 --> 00:18:42,370 >> Sada kada može dobiti posebno neugodno when-- ćemo dotaknuti 1, 2 dodirnite dodirnite 3. 400 00:18:42,370 --> 00:18:44,400 Može imati hrpu datoteka. 401 00:18:44,400 --> 00:18:49,060 Da sam htio, mogao sam stvoriti tisuće datoteka u ovdje. 402 00:18:49,060 --> 00:18:53,340 I rm -r foo ide biti prilično neugodno. 403 00:18:53,340 --> 00:18:55,374 Da, da, da, da, da, da. 404 00:18:55,374 --> 00:18:57,540 S puno više datoteka koje brzo vidjeti koliko puta 405 00:18:57,540 --> 00:18:58,581 Ja bih se upisati pozitivan. 406 00:18:58,581 --> 00:19:02,265 Pa, upravo smo vidjeli prije kako bismo mogli riješi trebaju upisati yes, -F. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 Dakle mkdir foo foo cd dodir 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 U redu, tako da rm-rf foo će slijepo uklanjanje foo cijelosti. 411 00:19:17,190 --> 00:19:17,960 Nema brz. 412 00:19:17,960 --> 00:19:18,650 Nema ništa. 413 00:19:18,650 --> 00:19:20,040 Foo je otišao. 414 00:19:20,040 --> 00:19:23,830 >> Tako sam imaju tendenciju da koriste ovo zapovijedati svih vremena. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 To je rekao, to je vrlo opasno naredbe, 417 00:19:27,830 --> 00:19:33,240 jer ako sam nešto slično to, neće vas pitati. 418 00:19:33,240 --> 00:19:34,730 To će nestati. 419 00:19:34,730 --> 00:19:40,140 I to se događa prilično često, pa čak i viša razina CS tečajeva. 420 00:19:40,140 --> 00:19:42,070 Ponekad ćemo vidjeti nešto gdje netko 421 00:19:42,070 --> 00:19:48,360 kaže da sam slučajno naša RF-ed RM moj dom imenik i sve moje P set je otišao. 422 00:19:48,360 --> 00:19:52,422 I to je poražavajući, ali nema smeće. 423 00:19:52,422 --> 00:19:54,380 Nema ništa za vas dohvatiti. 424 00:19:54,380 --> 00:19:55,330 To je samo otišao. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 Još gore bi bilo nešto poput rm-rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 Tako smo samo razgovarali da je korijenski direktorij. 429 00:20:01,140 --> 00:20:03,095 On drži sve datoteke na vašem sustavu. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 Stvari imaju tendenciju da se prilično neuredan kada uklonite stvari poput ls, 432 00:20:07,380 --> 00:20:10,280 i cd, a svi oni. 433 00:20:10,280 --> 00:20:15,467 >> PUBLIKA: Koja je razlika između RM, RF, i rm * 434 00:20:15,467 --> 00:20:16,300 ROB Bowden: Pa rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> ALLISON: Pitanje je što je Razlika između RM, RF, i rm *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB Bowden: Pa rm *. 439 00:20:25,950 --> 00:20:31,910 Star općenito i na sve Sadržaj ovog kataloga. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 Pokušavajući se sjetiti drugog načina pokazuje zvijezdu. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 Pa, zvijezda zapravo općenito znači odgovarati bilo uzorak. 444 00:20:44,780 --> 00:20:54,930 Dakle, ako imam datoteku pod nazivom dog1, touch dog2 dodirnite cat1 dodirnite cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 Dakle ls * 1 će ispisati cat1 i dog1, jer je to zvijezda može biti popunjena 447 00:21:02,110 --> 00:21:06,270 U with-- treba biti tamo, no zvijezda može biti ili mačku ili psa. 448 00:21:06,270 --> 00:21:07,247 To je wild card. 449 00:21:07,247 --> 00:21:08,580 To je riječ koju tražim. 450 00:21:08,580 --> 00:21:09,120 Wild card. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 Ili bih mogao LS pas * i Ja sam dobio da vidi dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 Dakle, oni su s popisom datoteka koji odgovara uglatim uzorak. 454 00:21:16,870 --> 00:21:18,150 Možete koristiti ls na ovaj način. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * zvijezda utakmice ništa. 457 00:21:22,020 --> 00:21:25,710 Dakle, to će ispisati sve Sadržaj ovog kataloga 458 00:21:25,710 --> 00:21:27,290 jer sve njih odgovarati. 459 00:21:27,290 --> 00:21:30,130 To se neće ispisati ništa u višim razinama direktorije. 460 00:21:30,130 --> 00:21:38,680 Ako imam sub imenik, foo, a touch 1 2 3-- pa sad ako rm * zvijezda, 461 00:21:38,680 --> 00:21:41,450 uklanjanje cat1, cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 Ne mogu ukloniti foo. 463 00:21:42,340 --> 00:21:43,090 To je katalog. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> Dakle zvijezda proširuje na sve datoteke u imeniku. 466 00:21:50,340 --> 00:21:55,210 Dakle, tehnički rm * kao što je rekao rm cat1, cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 Dok rm-rf, tehnički zvijezda bi ostvariti ono što želimo, ali RM -rf-- 468 00:22:03,630 --> 00:22:06,090 ako odem iz toga katalog, rm-rf temp, 469 00:22:06,090 --> 00:22:08,890 to će ići u temp i rekurzivno uklonili sve. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> Pa star je odvojena u tome da Podrazumijeva by-- tako ovu stvar 472 00:22:21,060 --> 00:22:25,090 da sam trčanje u, ova stvar da se mene pitajući za naredbe 473 00:22:25,090 --> 00:22:28,770 a onda i radi izvršavanja ih, ja nazivam ovo moje ljuske. 474 00:22:28,770 --> 00:22:31,930 I tako je to školjka je sama programa. 475 00:22:31,930 --> 00:22:35,010 I ako sam htjela, ja mogao pokrenuti u / bin / bash. 476 00:22:35,010 --> 00:22:36,930 Ljuska se zove bash. 477 00:22:36,930 --> 00:22:39,340 I sada smo primijetiti nešto nešto malo promijenila, 478 00:22:39,340 --> 00:22:42,200 a to je zato što moje postavke za ljuske su nešto drugačiji. 479 00:22:42,200 --> 00:22:45,415 >> Ali sada sam tehnički sam trčanje ljuske u mojoj izvornoj ljusci, 480 00:22:45,415 --> 00:22:49,570 i ja mogu napustiti taj oklop, a sada Vratio sam se u moj top level ljuske. 481 00:22:49,570 --> 00:22:55,240 Svrha govoreći da is-- zvijezdu. 482 00:22:55,240 --> 00:22:59,020 Dakle, zvijezda je nešto razumjeti bash. 483 00:22:59,020 --> 00:23:04,260 Dakle rm-rf, rf zastava je razumjeti samo rm. 484 00:23:04,260 --> 00:23:06,380 On zna da, kada vas proći rf koja vas 485 00:23:06,380 --> 00:23:09,520 Želite da rekurzivno ukloniti sve datoteke bez navelo. 486 00:23:09,520 --> 00:23:13,960 Zvijezda je nešto razumio by bash da kad kažeš rm *, 487 00:23:13,960 --> 00:23:16,890 bash ne ide reći hej rm *, uklanjanje zvijezda. 488 00:23:16,890 --> 00:23:21,010 Bash će reći rm * uklanjanje cat1, cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 To automatski će se proširiti sve datoteke u direktoriju. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> A slično tilda je još simbol koji bash razumije. 492 00:23:33,140 --> 00:23:37,130 Kad kažem cd ~, bash širi da je na kućnu imenik. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 Ostala pitanja do sada? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 U redu, tako da ćemo početi ide brzo. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Tab završetak. 499 00:23:48,545 --> 00:23:49,670 Samo da ga baci vani. 500 00:23:49,670 --> 00:23:51,530 Puno ljudi ne shvatite to postoji. 501 00:23:51,530 --> 00:23:55,060 Dakle, ako sam tip cd Dow, ja želim ići u preuzimanja. 502 00:23:55,060 --> 00:23:56,700 Ne trebate upisati nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 Ja samo mogu pogoditi Tab. 505 00:24:00,770 --> 00:24:03,794 Dakle, priznaje da Dow je prefiks koji 506 00:24:03,794 --> 00:24:05,710 ne odgovara ništa drugdje u ovom imeniku, 507 00:24:05,710 --> 00:24:07,520 tako da će završiti za vas. 508 00:24:07,520 --> 00:24:08,610 Sada mogu ući. 509 00:24:08,610 --> 00:24:10,110 >> Također sam to rekurzivno. 510 00:24:10,110 --> 00:24:11,205 Tako mkdir foo. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Idemo u foo. 513 00:24:13,300 --> 00:24:14,830 mkdir bara. 514 00:24:14,830 --> 00:24:17,345 Dakle, ide natrag u moj dom katalog, vidim preuzimanja. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 Sada karticu opet udaranje, automatski će se popuniti u foo. 517 00:24:21,860 --> 00:24:22,880 To je jedini katalog. 518 00:24:22,880 --> 00:24:25,340 Karticu Udaranje opet, automatski će ispuniti traci. 519 00:24:25,340 --> 00:24:26,798 Dakle, sad sam u (~ Preuzimanja / foo / bar). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> Dakle, ovo završetak karticu, svaki put kad sam dobio to radno vrijeme, 522 00:24:31,692 --> 00:24:33,400 i ja stojim nad nečije rame, 523 00:24:33,400 --> 00:24:40,470 i oni će rm D-O-W-N-L-O--D-S, ja umirem. 524 00:24:40,470 --> 00:24:41,990 Samo kartica, kartica, kartica, kartica. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 Dakle, definitivno koristiti karticu. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 A slično i dolje, puno ljudi 529 00:24:49,840 --> 00:24:51,930 upravo to se dogodilo Nikada nisam udario gore i dolje. 530 00:24:51,930 --> 00:24:54,870 To će proći kroz prethodna naredbe, pa ako ste upravo trčao nešto, 531 00:24:54,870 --> 00:24:58,300 i želite ga ponovo pokrenuti, Samo držite se dok ne dođete do njega. 532 00:24:58,300 --> 00:24:59,870 533 00:24:59,870 --> 00:25:00,370 U redu. 534 00:25:00,370 --> 00:25:01,460 535 00:25:01,460 --> 00:25:03,585 >> Tako brzo, neke druge stvari. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 Idemo natrag u temp. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 Idemo stvoriti neke datoteke. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 Dakle ovdje, ja sam samo ću navesti neke riječi. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 pas, mačka, mijau. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 Učinimo psa, ribe. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 Tako sada rep je vrlo korisne naredbe koje 548 00:25:32,320 --> 00:25:37,820 koristiti za traženje cijeloj datoteka za određeni tekst, 549 00:25:37,820 --> 00:25:40,910 i tehnički možete napraviti stvarno složeni izrazi za njega odgovarati. 550 00:25:40,910 --> 00:25:44,830 >> Pa evo, ako sam grep, a što Ne želim tražiti? 551 00:25:44,830 --> 00:25:49,130 Recimo da sam u potrazi za mačke, i Želim pretraživati ​​sve ove datoteke. 552 00:25:49,130 --> 00:25:50,650 Pa kako ja sve ove datoteke? 553 00:25:50,650 --> 00:25:51,900 Star. 554 00:25:51,900 --> 00:25:54,939 Tako je u jednoj datoteci, imam mačku. 555 00:25:54,939 --> 00:25:56,980 Vjerojatno bih mogao imati nazvao je to nešto bolje, 556 00:25:56,980 --> 00:25:59,063 jer to izgleda kao brojeve redaka ili nešto. 557 00:25:59,063 --> 00:26:01,590 No, u jednoj datoteci imam liniju s mačkom. 558 00:26:01,590 --> 00:26:04,160 U datoteci dva imam liniju s mačkom. 559 00:26:04,160 --> 00:26:07,280 Tako sada mogu pogledati u datoteku jedne i vidim ah, taj file imala mačku. 560 00:26:07,280 --> 00:26:10,210 Obavijest datoteka troje nije uskladiti jer mačka nije tamo. 561 00:26:10,210 --> 00:26:13,882 Mogu grep za Meow. 562 00:26:13,882 --> 00:26:14,840 Samo podnijeti dva ima Mijau. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> Dakle, to možete kombinirati, Ponovno, za r, koji je 565 00:26:20,640 --> 00:26:23,580 kao što sam rekao prije često znači rekurzivna. 566 00:26:23,580 --> 00:26:29,800 I tako ja mogu doći ovamo, grep r za bilo primjer of-- ćemo urediti 567 00:26:29,800 --> 00:26:32,010 ovaj je samo baciti mačku unutra. 568 00:26:32,010 --> 00:26:38,800 Tako grep r za svaku instancu mačka u cijelom ovom direktoriju. 569 00:26:38,800 --> 00:26:41,600 I to će rekurzivno Pretražite sve podmape. 570 00:26:41,600 --> 00:26:43,940 Tako je u Baz, tu je mačka. 571 00:26:43,940 --> 00:26:45,570 U temp / 2, tu je mačka. 572 00:26:45,570 --> 00:26:47,960 A u temp / 1 postoji mačka. 573 00:26:47,960 --> 00:26:50,045 Tako da je u potrazi unutar datoteke. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> Sada možete koristiti nalaz. 576 00:26:55,090 --> 00:26:59,640 I tako naći je konkretno o u potrazi za datoteke s traženim nazivom. 577 00:26:59,640 --> 00:27:02,490 Tako ćemo napraviti nešto više. 578 00:27:02,490 --> 00:27:03,660 Idemo u downloads. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 Dodirnite dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 Dodirnite cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 Dodirnite cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 Dodirnite catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> Dakle, želim pronaći sve datoteke s psom u nazivu. 589 00:27:23,810 --> 00:27:28,060 Tako naći, a za najdulji Vrijeme Nikada nisam sjetio 590 00:27:28,060 --> 00:27:33,760 Kako pronaći radio, dok nisam napokon pročitati nešto što je napravio je to tako jasno. 591 00:27:33,760 --> 00:27:35,784 Tako naći, automatski rekurzivna. 592 00:27:35,784 --> 00:27:36,950 Vi ne morate proći -R. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 Dakle, naći točku. 595 00:27:39,110 --> 00:27:40,750 Nismo razgovarali o dot još. 596 00:27:40,750 --> 00:27:44,800 Dok dot dot uvijek znači jedan imenik gore. 597 00:27:44,800 --> 00:27:46,960 Dot uvijek znači trenutnu imenik. 598 00:27:46,960 --> 00:27:51,390 Tako sam mogao rm -r točku u Isto tako ja mogu rm-rf *. 599 00:27:51,390 --> 00:27:53,140 Na kraju su postići istu stvar. 600 00:27:53,140 --> 00:27:56,040 rm-rf točka će ukloniti Cijeli trenutni katalog. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> U redu, što ne želim raditi tamo. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 Ali naći točku. 605 00:28:04,320 --> 00:28:07,920 Tako rekurzivno pretraživanje struje katalog, a sada je sve 606 00:28:07,920 --> 00:28:14,125 Nakon toga su hrpa zastava koju koristiti isključiti stvari od povratka. 607 00:28:14,125 --> 00:28:17,250 Dakle, naći dot vraća sve ono što ga može naći od trenutnog imenika. 608 00:28:17,250 --> 00:28:19,700 To su sve datoteke rekurzivno traži. 609 00:28:19,700 --> 00:28:21,250 Vidjet ćemo neke od onih u sekundi. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> No, u slučaju da se pitate kako sam to da, tako zapovjedništva K, u najmanju ruku 612 00:28:27,140 --> 00:28:29,660 u mom terminala u Mac to samouvjereno. 613 00:28:29,660 --> 00:28:34,660 Kontrola L općenito briše je za bilo kakve terminala. 614 00:28:34,660 --> 00:28:36,480 Također možete upisati jasna. 615 00:28:36,480 --> 00:28:38,410 A ako ste ikad dobili u čudan scenario-- 616 00:28:38,410 --> 00:28:42,790 to mi se dogodilo par time-- gdje su boje vaše upite 617 00:28:42,790 --> 00:28:46,590 sve zabrljao, ili vam nisu u stanju vidjeti ništa 618 00:28:46,590 --> 00:28:51,232 se upisali kada pišete, jer ponekad kao boja pozadine je postavljena 619 00:28:51,232 --> 00:28:53,940 isto kao i boje teksta a sada ne možete vidjeti fontove. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 Reset je nešto što jednostavno resetira da zadani crnoj podlozi, 622 00:28:59,830 --> 00:29:01,840 bijela prsa, ili što god postavite ih. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> Dakle, gdje smo stali? 625 00:29:04,790 --> 00:29:05,930 Pronađite točku. 626 00:29:05,930 --> 00:29:09,360 Dakle, sada je sve to prošlost Točka ograničava rezultate 627 00:29:09,360 --> 00:29:11,450 na nešto što odgovara dao uzorak. 628 00:29:11,450 --> 00:29:16,110 Dakle ovdje želim tražiti sve s imenom mačka. 629 00:29:16,110 --> 00:29:17,300 Nemam ništa. 630 00:29:17,300 --> 00:29:18,390 Zašto je to tako? 631 00:29:18,390 --> 00:29:21,230 Pa, ja sam samo u potrazi za nešto s točno ime mačka. 632 00:29:21,230 --> 00:29:25,150 Ako želim da se traži nešto da ima neki uzorak, a cat-- 633 00:29:25,150 --> 00:29:28,890 citati tehnički nisu potrebne, ali ja sam ih bacanje tamo. 634 00:29:28,890 --> 00:29:32,720 Dakle, sada se nađe catcat, jer to je jedina stvar koja 635 00:29:32,720 --> 00:29:36,040 ima neke proizvoljne Uzorak slijedi mačka. 636 00:29:36,040 --> 00:29:41,950 Ja mogu staviti mačka *, a sada nalaze catcat, cat_dog, cat2, 637 00:29:41,950 --> 00:29:45,245 jer to su sve stvari s mačkom na početku slijedi ništa. 638 00:29:45,245 --> 00:29:46,120 Možete kombinirati. 639 00:29:46,120 --> 00:29:50,480 Ako želite tražiti sve datoteke C da ste, možda vi * .c. 640 00:29:50,480 --> 00:29:51,960 Mi smo blah.c ovdje. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 Tako da je nalaz djela. 643 00:29:55,020 --> 00:29:55,770 Možete pretraživati. 644 00:29:55,770 --> 00:29:58,270 Ima cijela hrpa zastava za daljnje ograničenja. 645 00:29:58,270 --> 00:30:00,960 I jedan na njih, recimo D. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 Dakle zastarjelo. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 Oh, to nije ono što želim. 650 00:30:06,550 --> 00:30:07,730 Nije D. 651 00:30:07,730 --> 00:30:08,860 Tip d. 652 00:30:08,860 --> 00:30:13,820 Dakle pronaći točku - tipa d. 653 00:30:13,820 --> 00:30:17,760 Pa što je to upravo učinio je sam u potrazi za sve datoteke u trenutnoj mapi 654 00:30:17,760 --> 00:30:21,680 s A- d označava directory-- tipa katalog. 655 00:30:21,680 --> 00:30:24,430 To vraća sve direktorije u trenutnom direktoriju. 656 00:30:24,430 --> 00:30:27,670 A tipa F je sve regularno datoteke, svi non direktorije. 657 00:30:27,670 --> 00:30:29,809 Dakle, to je samo primjer drugim načinima na koje 658 00:30:29,809 --> 00:30:32,350 može ograničiti drugi pretragu nego samo ime datoteke. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> Prošlo je 30 minuta. 661 00:30:35,570 --> 00:30:36,848 Ipak ide. 662 00:30:36,848 --> 00:30:38,132 >> ALLISON: Ja ću povjetarac kroz. 663 00:30:38,132 --> 00:30:39,670 To će biti u redu. 664 00:30:39,670 --> 00:30:41,460 >> ROB Bowden: Pa neke druge stvari. 665 00:30:41,460 --> 00:30:45,700 Sada bang, uskličnik. 666 00:30:45,700 --> 00:30:50,530 Tako da uglavnom means-- dobro, idemo vidjeti primjer. 667 00:30:50,530 --> 00:30:52,230 Dakle! F, što se da učiniti? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 Pa čini se da su ponoviti nalaz dot -tipa f. 670 00:30:57,810 --> 00:30:59,240 Što je! G? 671 00:30:59,240 --> 00:31:00,760 To samo grep -r mačka *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 Dakle bang možete koristiti ponoviti nedavno učinio naredbe. 674 00:31:05,720 --> 00:31:13,280 Dakle, ako sam tip! Gre, to će se ponovno pokrenuti naredbe koja je započela s gre najviše 675 00:31:13,280 --> 00:31:14,060 u zadnje vrijeme. 676 00:31:14,060 --> 00:31:17,090 >> A možete vidjeti sve ove naredbe s poviješću. 677 00:31:17,090 --> 00:31:17,880 Dakle, povijest. 678 00:31:17,880 --> 00:31:19,630 To su sve Naredbe sam pokrenuti i danas. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 A dobro, to nije doslovno ograničena do danas, 681 00:31:23,130 --> 00:31:25,180 ali ja sam se samo to uređaja od danas. 682 00:31:25,180 --> 00:31:28,730 To je vaš cjelokupnost povijest vašeg bash ljuske, 683 00:31:28,730 --> 00:31:30,433 osim što prekida u nekom trenutku. 684 00:31:30,433 --> 00:31:33,474 PUBLIKA: Što će se dogoditi ako to ne učinite Povijest [nečujan] zapovijedanja i pogreške 685 00:31:33,474 --> 00:31:35,430 u rezultat i dalje će ispisati the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB Bowden: Da, ako postoji Pogreška u jednoj od tih commands-- 687 00:31:44,110 --> 00:31:48,090 pa recimo, da je Naredba o pogrešci nije pronađen. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 Još uvijek se pojavljuje u povijesti. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 U redu. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 Ostala pitanja o bilo čemu? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 Dakle, to je prasak. 696 00:32:00,300 --> 00:32:04,230 >> Sada, stvarno korisna naredba, čovječe. 697 00:32:04,230 --> 00:32:07,750 Tako da vam daje Priručnik za određenu naredbu. 698 00:32:07,750 --> 00:32:11,640 Pa recimo čovjek ls, pa to mi pokazuje ls. 699 00:32:11,640 --> 00:32:13,400 Ona navodi sadržaj imenik. 700 00:32:13,400 --> 00:32:17,150 I ovo je mjesto gdje vidim da postoji su ti razne zastave koje postoje. 701 00:32:17,150 --> 00:32:21,340 Dakle, vidimo da je ls -l postoji ako smo pročitali da je. ls -l 702 00:32:21,340 --> 00:32:26,150 daje mi tu cjelovit popis katalog s koji posjeduje datoteku, 703 00:32:26,150 --> 00:32:29,750 veličina datoteke, modificirani datumom. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 Dakle ls -a je još jednom da bi mogao zapravo koristiti nešto češće. 706 00:32:34,980 --> 00:32:38,130 -al je moj najčešći zastava ovom prošlom ls. 707 00:32:38,130 --> 00:32:42,520 >> Dakle -a, primijetiti da je dosta više datoteka nego samo ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 Ono što je zajedničko svim tim datotekama? 710 00:32:46,170 --> 00:32:47,790 Oni počinju s točkom. 711 00:32:47,790 --> 00:32:54,710 Dakle, ovo je konvencija u Linuxu da datoteke koje počinju s točkom su skriveni. 712 00:32:54,710 --> 00:32:58,330 Dakle, to samo znači da kad smo samo ravno ls, 713 00:32:58,330 --> 00:33:04,170 ili smo u potrazi imenika pomoću tražilo ekvivalent, ili Windows 714 00:33:04,170 --> 00:33:07,250 Explorer ekvivalent, da mi ne žele vidjeti te datoteke dot. 715 00:33:07,250 --> 00:33:09,680 Oni su samo zagađuju pogled na stvari. 716 00:33:09,680 --> 00:33:11,790 Dakle, oni su skriveni Osim ako izričito 717 00:33:11,790 --> 00:33:14,250 zatražiti ih s nečim poput -A. 718 00:33:14,250 --> 00:33:18,920 Dakle, ja mogu cd u .local, a ja vidim da je to samo po sebi katalog s 719 00:33:18,920 --> 00:33:22,220 zajednički katalog, i aplikacije, i bla bla bla. 720 00:33:22,220 --> 00:33:24,520 Dakle dot, datoteke oni su samo skrivene. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> U redu, tako da druge važne one. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 Imam par mogu preskočiti. 725 00:33:32,000 --> 00:33:38,160 Ajmo brzo pravi razgovor o datoteku preusmjeravanje stvari. 726 00:33:38,160 --> 00:33:43,020 Dakle, postoji cijeli kompleks serija stvari koje možete učiniti s njima, 727 00:33:43,020 --> 00:33:47,204 ali samo da ih vidim, recimo, odjek. 728 00:33:47,204 --> 00:33:47,870 Još naredbe. 729 00:33:47,870 --> 00:33:48,920 Stvarno glupo naredbe. 730 00:33:48,920 --> 00:33:50,710 Sve je to ipak za ispis ono što sam mu reći da. 731 00:33:50,710 --> 00:33:52,070 Tako odjek zdravo. 732 00:33:52,070 --> 00:33:53,850 To samo odjek pozdrav na zaslonu. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Pozdrav svijetu. 735 00:33:56,390 --> 00:33:57,890 Odjeci Pozdrav svijetu. 736 00:33:57,890 --> 00:34:02,650 >> Dakle, jedna naredba ili jedan simbol koji bash razumije 737 00:34:02,650 --> 00:34:07,620 je to veći od simbola, i to je izlaz na simbol datoteke. 738 00:34:07,620 --> 00:34:10,940 Dakle, ako izlaz sam to foo, tu je sada datoteka 739 00:34:10,940 --> 00:34:15,100 zove foo, unutar što je Hello World. 740 00:34:15,100 --> 00:34:18,489 Dakle, primijetite da kad sam jeka Pozdrav svijetu cijevi u foo, 741 00:34:18,489 --> 00:34:19,980 nije odjek Pozdrav svijetu. 742 00:34:19,980 --> 00:34:22,630 Umjesto toga ga je staviti u datoteku foo. 743 00:34:22,630 --> 00:34:25,340 I još samo naredba ga baciti na vas, mačku. 744 00:34:25,340 --> 00:34:29,191 To je jednostavan način da se jednostavno u potpunosti popis sadržaja datoteke 745 00:34:29,191 --> 00:34:31,440 tako da ja ne moram otvarati tekst editor da bi je vidjeli. 746 00:34:31,440 --> 00:34:34,159 Tako sadržaj foo datoteka su Pozdrav svijetu. 747 00:34:34,159 --> 00:34:38,460 A što sam mogao mačka blah.c, je sadržaj toga. 748 00:34:38,460 --> 00:34:42,123 >> Opet, to su naredbe koje, ne Očekujemo imate ih sve zapamtio. 749 00:34:42,123 --> 00:34:43,860 Ideja je da ste ih vidjeli. 750 00:34:43,860 --> 00:34:45,735 Možda radite nešto, a ti si 751 00:34:45,735 --> 00:34:47,230 kao da sam bolestan od otvaranja ove datoteke. 752 00:34:47,230 --> 00:34:50,120 Volio bih da mogu samo gledati na sadržaj jako brzo. 753 00:34:50,120 --> 00:34:52,320 Ti bi mogao učiniti, a zatim osvrnuti i reći oh ja 754 00:34:52,320 --> 00:34:55,250 zapamtite nešto slično što postoji, i to je mačka. 755 00:34:55,250 --> 00:35:00,630 >> Tako da se ide u datoteku. 756 00:35:00,630 --> 00:35:06,639 Sada ne postoji stvarno bilo dobro Primjer čitanja iz datoteke gostiju. 757 00:35:06,639 --> 00:35:08,930 Što je nešto što traje nešto od standarda u? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 Svaka jednostavna Linux naredbe? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 Kada smo doći do njega, u paru tjedana svi piece-- dobro, 762 00:35:16,970 --> 00:35:20,470 ovaj tjedan imate komad gdje se počnete uzimati podatke od korisnika. 763 00:35:20,470 --> 00:35:23,696 I tako se obično upišete da je ulaz na tipkovnici. 764 00:35:23,696 --> 00:35:25,570 Umjesto da upišete ulaz na tipkovnici, 765 00:35:25,570 --> 00:35:30,950 umjesto toga možete cijev u iz datoteke tako da kada radite Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 cijev s bilo koje datoteke, a koja će pokrenuti Mario programa. 767 00:35:35,200 --> 00:35:37,300 Ne očekuju ulaz na tipkovnica, umjesto da je 768 00:35:37,300 --> 00:35:39,650 Samo ću pročitati linije iz Foo datoteke. 769 00:35:39,650 --> 00:35:45,230 >> Dakle, veći od foo ga stavlja u foo datoteka, a manje od foo 770 00:35:45,230 --> 00:35:50,170 uzima stvari iz foo datoteke i koristi da se kao ulaz u ovom programu. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 I samo da ga vidim, mi također mogli jeka foo bar Baz, a onda umjesto jednog 773 00:36:00,630 --> 00:36:03,850 veći od, neka je učiniti dvije u foo. 774 00:36:03,850 --> 00:36:05,610 Što to učiniti? 775 00:36:05,610 --> 00:36:07,180 To samo dodaje na datoteku. 776 00:36:07,180 --> 00:36:15,360 Dakle, umjesto da primijetiti, ako ja to odjek blah u foo a onda mačka foo, to je samo bla. 777 00:36:15,360 --> 00:36:18,285 Dakle, kada se izlaz u datoteku ga, potpuno prebrisati tu datoteku. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 Ako samo želite dodati, dvostruka [? greder. ?] 780 00:36:22,740 --> 00:36:24,080 >> I prošle je cijevi. 781 00:36:24,080 --> 00:36:29,590 Pipe dobiva mnogo kompliciranije, gdje to traje izlaz jedne naredbe 782 00:36:29,590 --> 00:36:32,320 i uvlači u sljedeću naredbu. 783 00:36:32,320 --> 00:36:36,140 Pa neka uobičajena stvar, povijest. 784 00:36:36,140 --> 00:36:37,920 Dakle, uh, ne želim gledati na to. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 Pokaži mi sve naredbe u mojoj povijesti gdje sam grep-ed za nešto. 787 00:36:44,485 --> 00:36:45,360 Ne, to je zbunjujuće. 788 00:36:45,360 --> 00:36:50,360 Pokaži mi sve naredbe gdje sam naći. 789 00:36:50,360 --> 00:36:52,360 Sve nalaze naredbe koje sam ikada trčao. 790 00:36:52,360 --> 00:36:55,050 >> Dakle, povijest. 791 00:36:55,050 --> 00:36:59,017 Sada povijesti izlazi na zaslon ovaj popis naredbi, 792 00:36:59,017 --> 00:37:00,850 ali ja ne želim Izlaz ga na zaslonu. 793 00:37:00,850 --> 00:37:03,445 Umjesto da idem na njega cijevi u grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 Tako ćemo grep za sve slučajeve nalaza. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 Tako sada umjesto grep uzimanja ulaz, umjesto of-- 798 00:37:17,000 --> 00:37:24,360 grep je u mogućnosti da obrađuju kao input-- smo pomoću grep malo drugačije ovdje. 799 00:37:24,360 --> 00:37:29,550 Dakle, umjesto upisivanja popis stvari koje smo htjeli tražiti 800 00:37:29,550 --> 00:37:31,070 i rekao grep izvodi kao ulaz. 801 00:37:31,070 --> 00:37:34,810 Dakle, ako ja jednostavno ne grep naći, to čeka me tip stvari. 802 00:37:34,810 --> 00:37:37,661 Dakle mačka Pozdrav pronaći. 803 00:37:37,661 --> 00:37:38,160 Pozdrav. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 Pronađi. 806 00:37:40,930 --> 00:37:43,670 Obavijest svaki put sam upisati naći prepoznaje da sam upisali nalaz. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 Dakle, umjesto toga, će se Traži datoteke za pronaći. 809 00:37:49,540 --> 00:37:53,930 >> Dakle, povijest se sada ide na Izlaz popis svih naredbi. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 Mi smo stavljajući tu izlaz, a mi smo hranjenja da grep, 812 00:37:58,100 --> 00:38:00,180 pa to je pljuvanje iz svi slučajevi pronaći. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 Razlog zbog kojeg sam rekao da bih se zbunjujuće je li I-- je još uvijek zbunjujuće. 815 00:38:05,570 --> 00:38:07,030 Ako sam grep za grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 Obavijest to je prilično velik i uvijek prikazuje naredbu Upravo sam 818 00:38:11,130 --> 00:38:15,280 ran, jer tu zapovijed sebi ima grep unutar nje. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> U redu, tako da bilo kakva pitanja o bilo čemu? 821 00:38:20,674 --> 00:38:22,340 I ja ću to prenijeti preko u ovom trenutku. 822 00:38:22,340 --> 00:38:24,690 Nadam se da je ovo lijepa Pregled svih naredbi 823 00:38:24,690 --> 00:38:30,100 da ne morate imati napamet, ali to čine 824 00:38:30,100 --> 00:38:32,950 čvrsta 95% onoga što sam učiniti na naredbenog retka. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 Također, imajte na umu da naredbenog retka Sama, bash je programski jezik, 827 00:38:39,140 --> 00:38:43,070 pa kad dođete do njega, možda želite učiniti jako složene stvari. 828 00:38:43,070 --> 00:38:47,522 I tako ima stvari poput petlje, i IFS, a sve one 829 00:38:47,522 --> 00:38:50,230 da ćeš se naviknuti na sa svojim programskim jezicima. 830 00:38:50,230 --> 00:38:53,660 Ali to je izvan Opseg ovog poglavlja. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 U redu, tako da nema pitanja? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 ALLISON: Ništa? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: Hoćete to-- 836 00:38:59,450 --> 00:39:01,158 ALLISON: Ja mogu to učiniti na minu, ako želite. 837 00:39:01,158 --> 00:39:02,626 Možemo vidjeti što se događa. 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 Ti si teško čin slijediti, Rob. 841 00:39:07,504 --> 00:39:08,920 Želite li mi se prebaciti s tobom? 842 00:39:08,920 --> 00:39:10,246 Ili imaš, u redu. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 Ja ću pokušati, a ne dosta biti dugotrajan tamo. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 Da vidimo je li to volja raditi onako kako to želite. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 Možda? 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 Da. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> Dakle Samo ću se vrlo brzo ići kroz varijable, petlje, uvjetne, 854 00:39:34,066 --> 00:39:35,440 i malo na prevodilac. 855 00:39:35,440 --> 00:39:38,570 Ako imate pitanja na bilo koje vrijeme, molim vas, prestanite me. 856 00:39:38,570 --> 00:39:42,750 Ovi momci će me podsjetiti ponoviti Vaše pitanje u slučaju da ne zaboravim, 857 00:39:42,750 --> 00:39:44,210 ali ne bi trebalo biti previše loše. 858 00:39:44,210 --> 00:39:45,850 >> Dakle varijabli, da. 859 00:39:45,850 --> 00:39:48,060 Mi nemamo jedan od vaših Scratch komada ovdje. 860 00:39:48,060 --> 00:39:50,440 Siguran sam da većina od vas, ako je ste imali neku vrstu igre 861 00:39:50,440 --> 00:39:53,810 koje ste stvorili s nule, imali ste pratiti nešto kao rezultat, 862 00:39:53,810 --> 00:39:55,870 ili vrijeme, ili nešto slično. 863 00:39:55,870 --> 00:39:58,080 Dakle, one svijetlo narančaste komadi koje vidimo postoji 864 00:39:58,080 --> 00:40:02,630 samo su ispočetka oblik varijable, a vi ćete sigurno 865 00:40:02,630 --> 00:40:04,640 se pomoću varijabli tijekom svoje programe. 866 00:40:04,640 --> 00:40:07,350 Ako niste, nisam stvarno sigurni što radite. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> Ali svejedno, velika stvar, definiranje varijabli. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 Uz C svaki varijabla ima da ima tipa izjavio 871 00:40:16,970 --> 00:40:22,090 pa sam ti dao vrlo Općenito jedan na vrhu. 872 00:40:22,090 --> 00:40:24,045 Tako ćete imati svoj tipa, a zatim god 873 00:40:24,045 --> 00:40:25,420 odlučite nazvati svoju varijablu. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 Dakle, u ovom slučaju, vrsti u svom promjenjivom popisu. 876 00:40:29,680 --> 00:40:31,400 >> Imamo tri primjera. 877 00:40:31,400 --> 00:40:34,439 Char neke ocjene, od A, što je što 878 00:40:34,439 --> 00:40:36,230 Siguran sam da svi žele da se u ovoj klasi. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 Možete definirati više varijable na jednoj liniji 881 00:40:40,670 --> 00:40:43,880 dok su svi istog tipa, što je naš drugi primjer postoji 882 00:40:43,880 --> 00:40:46,409 gdje imate tri varijable x, y, i z. 883 00:40:46,409 --> 00:40:47,200 Oni su sve pluta. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 A onda također možete, u ova posljednja primjer s int rezultat i broj 886 00:40:53,250 --> 00:40:56,510 timova, možete inicijalizirati ih tamo. 887 00:40:56,510 --> 00:41:01,270 >> Tako je u srednjem primjeru gdje smo samo float x, y i z, 888 00:41:01,270 --> 00:41:02,730 oni su još uvijek nije pokrenut. 889 00:41:02,730 --> 00:41:04,140 Oni nemaju nikakvu vrijednost. 890 00:41:04,140 --> 00:41:05,600 Ili su vrijednosti smeće. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 A ako pokušate i koristiti ih, prevodilac će vikati na vas. 893 00:41:10,790 --> 00:41:14,727 Morate i proglasiti i Inicijalizacija varijabli. 894 00:41:14,727 --> 00:41:16,310 Tako je u ovom zadnjem jednom, radimo oboje. 895 00:41:16,310 --> 00:41:19,320 Mi se izjavljuje varijable za rezultat i broj timova, 896 00:41:19,320 --> 00:41:24,134 a mi smo ih inicijalizacije, dajući ih njihove početne vrijednosti 7 i 4 897 00:41:24,134 --> 00:41:24,675 respektivno. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 Cool. 900 00:41:27,190 --> 00:41:28,550 Svi su dobro? 901 00:41:28,550 --> 00:41:29,470 Strašan. 902 00:41:29,470 --> 00:41:31,690 >> U redu, tako da neke konvencije. 903 00:41:31,690 --> 00:41:35,965 Ako ste vi pročitali po stilu 50, te 904 00:41:35,965 --> 00:41:39,510 su samo stvari koje bismo željeli za vas provesti u svom stilu. 905 00:41:39,510 --> 00:41:41,230 Dakle smislene imena. 906 00:41:41,230 --> 00:41:45,700 Ako počnete zovete stvari Samo x, y i z, naročito 907 00:41:45,700 --> 00:41:47,902 kao što ste dobili u duže Programi, ti si 908 00:41:47,902 --> 00:41:49,610 Vjerojatno će zbuniti sebe i biti 909 00:41:49,610 --> 00:41:52,930 kao što je to varijabla koja se odnosi na. 910 00:41:52,930 --> 00:41:55,880 Nemam pojma što to znači. 911 00:41:55,880 --> 00:41:59,280 >> Dakle, ako je to značilo da se držite rezultat, nazovite to postići. 912 00:41:59,280 --> 00:42:05,720 Ako je to značilo da se držite neki odgovor ili rezultat, dati mu ime kao što je to. 913 00:42:05,720 --> 00:42:09,920 Za petlje, koje ćemo ući u sljedeći slajd, 914 00:42:09,920 --> 00:42:12,985 jednog slova varijable su u redu. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB Bowden: I, J i K su samo konvencije za za petlje 917 00:42:18,449 --> 00:42:22,050 da svatko ih očekuje zvati I, J, i k. 918 00:42:22,050 --> 00:42:26,890 Možete nazvati them-- vidim red stupac ili redak poziva ponekad 919 00:42:26,890 --> 00:42:29,450 za dva ugniježđene petlje, i to je također vrsta standardni. 920 00:42:29,450 --> 00:42:31,450 Ali ja i j potpunosti razumio. 921 00:42:31,450 --> 00:42:33,670 >> ALLISON: Da, ja i j si potpuno u redu. 922 00:42:33,670 --> 00:42:36,250 Zbog jasnoće, kao u nekim od Vaših P skupova, 923 00:42:36,250 --> 00:42:39,745 možda ima smisla da imaju više opisne stvari tamo jednostavno 924 00:42:39,745 --> 00:42:40,920 pratiti njega. 925 00:42:40,920 --> 00:42:45,100 Ali mislim da i, j, k, a mislim Velika većina nas svi koriste. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB Bowden: Uz njih konvencije, tako da stil je važno. 928 00:42:50,340 --> 00:42:53,520 To je jedan od četiri osi na kojoj ste ocjenjuju, 929 00:42:53,520 --> 00:42:58,110 i to je tako lako samo ići preko Vaš P postaviti na kraju i uvjerite se 930 00:42:58,110 --> 00:42:59,770 da ne postoje stilske pogreške. 931 00:42:59,770 --> 00:43:01,742 Tako bi bili sigurni da ste tabbing ispravno. 932 00:43:01,742 --> 00:43:03,200 Provjerite jesu li varijable ime. 933 00:43:03,200 --> 00:43:04,450 Ostavite neke komentare. 934 00:43:04,450 --> 00:43:06,677 To je vrlo lako dobiti te bodove. 935 00:43:06,677 --> 00:43:09,510 Vi ne morate razmišljati o ništa kako bi dobili te bodove. 936 00:43:09,510 --> 00:43:11,093 Ne morate shvatiti ništa. 937 00:43:11,093 --> 00:43:12,640 To je samo što ga čini izgledaju lijepo. 938 00:43:12,640 --> 00:43:14,850 >> ALLISON: U stvari, mi ima stila 50, koji je 939 00:43:14,850 --> 00:43:17,920 će vam reći gdje ste petljaju gore ako ste zabrljati gore na stil 940 00:43:17,920 --> 00:43:21,180 te će vam reći točno ono što vam potrebno popraviti i kako ćete ga morati popraviti. 941 00:43:21,180 --> 00:43:23,900 To je također samo dobro spomenuti da je politika tečaj 942 00:43:23,900 --> 00:43:27,200 da, ako ste u uredu sati i tvoj broj je u neredu, 943 00:43:27,200 --> 00:43:30,200 možemo odbiti pomoći što sve izgleda ljepše. 944 00:43:30,200 --> 00:43:34,310 Dakle, početi u pravu, zadržati dosljedan stil, 945 00:43:34,310 --> 00:43:37,100 ti si također samo će napraviti Vaši životi puno lakše kada 946 00:43:37,100 --> 00:43:38,730 pokušavate proći ispravljanje. 947 00:43:38,730 --> 00:43:41,510 Ako pokušavate odgonetnuti gdje ste nedostaje kovrčavu braće 948 00:43:41,510 --> 00:43:44,890 i oni su sve više mjesta, da ste samo što svoj život teže. 949 00:43:44,890 --> 00:43:47,217 Dakle, biti u skladu sa stilom. 950 00:43:47,217 --> 00:43:48,800 Obećavam da ću učiniti vaš život lakšim. 951 00:43:48,800 --> 00:43:50,330 To će učiniti naš život lakšim. 952 00:43:50,330 --> 00:43:51,869 Svatko će biti puno sretniji. 953 00:43:51,869 --> 00:43:52,910 I to je ono što želite. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL: Vaša ocjena će biti veći. 956 00:43:55,650 --> 00:43:56,858 ALLISON: Da, i vaša ocjena. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 Ako vaš TF je poput tebe, tendira biti povoljna. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 U redu, i onda samo Druga točka ovdje. 961 00:44:05,010 --> 00:44:06,300 Dosljedan inicijalizacije. 962 00:44:06,300 --> 00:44:09,605 Dakle, kao što smo vidjeli, možete proglasiti i inicijalizirati stvari. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 Više varijable na istoj liniji. 965 00:44:13,180 --> 00:44:17,930 Jedna stvar koju bi ti se sviđa ne učiniti je da se proglasi neke varijable 966 00:44:17,930 --> 00:44:21,360 a ne ih inicijalizirati na istom linija koje su resetiranja drugima. 967 00:44:21,360 --> 00:44:23,960 >> Dakle, u slučaju da se nema smisla uopće, 968 00:44:23,960 --> 00:44:29,050 Ovdje imamo primjer gdje smo progla Ints 969 00:44:29,050 --> 00:44:31,180 u varijabli četvrtine dimes i novčana jedinica, 970 00:44:31,180 --> 00:44:34,214 ali četvrtine i novčana jedinica nemaju početnu vrijednost. 971 00:44:34,214 --> 00:44:36,630 Mi ih nismo inicijalizacije, ali usred tamo 972 00:44:36,630 --> 00:44:38,600 smo već inicijalizacije dimes na 0. 973 00:44:38,600 --> 00:44:41,650 Pa bilo to četvrtine, deaktivira, novčana jedinica. 974 00:44:41,650 --> 00:44:43,170 Ili četvrtine jednak 0. 975 00:44:43,170 --> 00:44:43,930 Dimes jednaka 0. 976 00:44:43,930 --> 00:44:46,810 Penija jednak 0, ili što god one početne vrijednosti. 977 00:44:46,810 --> 00:44:49,800 >> Velika je stvar sa stilom, biti dosljedan. 978 00:44:49,800 --> 00:44:51,050 Kada su u nedoumici, biti dosljedan. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 Ali slijedite naše stil vodič previše. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 Cool. 983 00:44:55,317 --> 00:44:56,150 Svatko dobro tamo? 984 00:44:56,150 --> 00:44:57,566 >> PUBLIKA: Gdje je stil vodič? 985 00:44:57,566 --> 00:45:00,800 ALLISON: Stil Vodič je on-- što je web stranica? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: Mislim da je manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 ALLISON: stil? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL: Stil. 990 00:45:06,390 --> 00:45:06,920 Yep. 991 00:45:06,920 --> 00:45:07,520 >> ALLISON: Da. 992 00:45:07,520 --> 00:45:10,150 Dakle pitanje, gdje je u stilu 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 Da? 995 00:45:13,639 --> 00:45:16,880 >> PUBLIKA: Ako smo definiranja varijable, je li u redu 996 00:45:16,880 --> 00:45:28,145 ako smo stavili kao [nečujan] kao int rezultat i onda int cilj. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 Tako će vam reći da sada imamo dobio ih definirati zajedno? 999 00:45:35,100 --> 00:45:37,640 >> ALLISON: Dakle pitanje, trebao imate viška koda 1000 00:45:37,640 --> 00:45:40,940 kada se definiraju varijable kao što su int rezultat i 1001 00:45:40,940 --> 00:45:43,239 na sljedećoj liniji int igri? 1002 00:45:43,239 --> 00:45:46,030 ROB Bowden: Tu su definitivno slučajevi gdje je suvišan broj je loše. 1003 00:45:46,030 --> 00:45:47,738 Ne bih uzeti u obzir da je suvišan broj. 1004 00:45:47,738 --> 00:45:50,970 Ja gotovo nikad ne proglasi višestruki varijable na istoj liniji ikad. 1005 00:45:50,970 --> 00:45:53,736 A ako ništa, to je zato što Obično odem nekakav komentar 1006 00:45:53,736 --> 00:45:55,235 objašnjavajući što varijabla za. 1007 00:45:55,235 --> 00:45:57,582 Dakle, ja ću reći int ocjene kose crte udarac. 1008 00:45:57,582 --> 00:45:59,350 Prati god. 1009 00:45:59,350 --> 00:46:00,710 U ukupnom slash udarac. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 Dakle, to je mnogo Grosser na taj način staviti ih sve na istoj liniji. 1012 00:46:06,455 --> 00:46:08,080 Upravo sam ih nikad stavio na istoj liniji. 1013 00:46:08,080 --> 00:46:10,580 >> ALLISON: Osjećam se kao da je osobnih preferencija u ovom trenutku. 1014 00:46:10,580 --> 00:46:14,900 >> PUBLIKA: Da li to ići za petlje i stvari previše? 1015 00:46:14,900 --> 00:46:15,900 ROB Bowden: Kao unutra? 1016 00:46:15,900 --> 00:46:18,282 Kao int ja jednak 0 zarez duljina iznosi nešto? 1017 00:46:18,282 --> 00:46:19,490 To nemate izbora. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 Sa za petlje inicijalizacije part-- tako da možda samo vidjeli 1020 00:46:25,910 --> 00:46:31,520 int ja jednak 0 zarez i manje od god zarezom ja plus plus. 1021 00:46:31,520 --> 00:46:33,820 To int i = 0, tehnički također možete 1022 00:46:33,820 --> 00:46:35,770 učiniti ono što smo vidjeli prije sa zarezom sintakse. 1023 00:46:35,770 --> 00:46:39,790 int ja jednak 0 zarez j iznosi 3 zarez k jednaka 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 Vi nemate izbora za Split da se u više redaka, 1026 00:46:44,320 --> 00:46:46,530 i to je standard. 1027 00:46:46,530 --> 00:46:47,780 Vidjevši to je u redu. 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 ALLISON: Strašan. 1030 00:46:49,890 --> 00:46:52,120 Pa, praktično prikazali u petlje. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 Tako da, ovdje imamo neke primjere od petlje da ti dečki vidjeli u ispočetka. 1033 00:46:58,980 --> 00:47:01,550 I naravno, sve to mogu samo biti ponovno u C. 1034 00:47:01,550 --> 00:47:04,610 A oni u osnovi vam omogućuju ponoviti neki dio koda 1035 00:47:04,610 --> 00:47:06,740 do određenog stanja zadovoljen, koje ćemo 1036 00:47:06,740 --> 00:47:09,198 dobili u pravu nakon razgovora oko petlje s uvjetne. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> Dakle, imamo tri glavne vrste. 1039 00:47:12,570 --> 00:47:17,500 Jer, dok je, i to vrijeme, koji je svi će proći kroz upravo sada. 1040 00:47:17,500 --> 00:47:18,860 Dakle, prvi je za petlje. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 Tako je za neke stanju, izvršiti ovaj blok koda. 1043 00:47:25,034 --> 00:47:27,200 Imamo ovu cool mali dijagram ovdje na dnu. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 Ali u osnovi imate u Vaš za, kako prvoj liniji, 1046 00:47:32,310 --> 00:47:34,240 idete Inicijalizacija varijabli. 1047 00:47:34,240 --> 00:47:38,260 >> Dakle, kao što smo razgovarali o tome, ja se jednak 0 ili jednak 10. 1048 00:47:38,260 --> 00:47:40,010 Što god je potrebno da se promjenjiva da se to 1049 00:47:40,010 --> 00:47:43,970 će se vratiti u tvorničke tamo, proglasio i inicijalizacije do neke vrijednosti. 1050 00:47:43,970 --> 00:47:46,760 Pa onda imamo neke stanje koje se događa 1051 00:47:46,760 --> 00:47:48,900 da provjere naše promjenjiva protiv nečega. 1052 00:47:48,900 --> 00:47:55,220 Tako je u slučaju tipičan slučaj u kojem Možda želite ovaj dio koda 1053 00:47:55,220 --> 00:47:56,620 izvršiti pet puta. 1054 00:47:56,620 --> 00:48:02,380 Dakle, imali bismo int i = 0, a mi želite da bude kada sam je manji od 5. 1055 00:48:02,380 --> 00:48:04,940 Dakle, taj uvjet je samo će provjeriti da svaki put. 1056 00:48:04,940 --> 00:48:07,120 Ako taj uvjet true, to je 1057 00:48:07,120 --> 00:48:11,162 ide za pokretanje koda, što je točno Što ovaj mali dijagram pokazuje. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> I tako ga izvršava. 1060 00:48:13,639 --> 00:48:15,430 To ažurira varijablu, što je ono što vidimo 1061 00:48:15,430 --> 00:48:21,020 U posljednjem dijelu svoga na petlje inicijalizacije tamo. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 Dakle, to će samo zadržati to dok se taj uvjet nije ispunjen, 1064 00:48:26,030 --> 00:48:28,010 i onda će izlaz petlje i dalje 1065 00:48:28,010 --> 00:48:29,960 kreće na s ostatkom vašeg programa. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 Svatko dobro tamo? 1068 00:48:33,620 --> 00:48:34,440 Cool. 1069 00:48:34,440 --> 00:48:37,780 >> Pa evo primjer, vrlo sličan nešto sam upravo govorio. 1070 00:48:37,780 --> 00:48:42,030 Dakle, mi samo želimo ispisati ovo je CS50 10 puta. 1071 00:48:42,030 --> 00:48:44,540 Dakle, vidite ovdje imamo naša za, a onda smo 1072 00:48:44,540 --> 00:48:47,450 inicijalizirati varijablu ja bude jednak 0. 1073 00:48:47,450 --> 00:48:50,610 Naš uvjet provjerava da je manje od 10. 1074 00:48:50,610 --> 00:48:55,210 Tako procjenjuju da vrijedi kada smo prvi put start, a zatim ažurira našu varijablu 1075 00:48:55,210 --> 00:48:58,985 svaki put da se zapravo izvršava i ispisuje to je CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 I da će prekinuti nakon 10 puta. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 Cool. 1080 00:49:04,070 --> 00:49:07,130 >> Dakle, dok su petlje do sljedećeg. 1081 00:49:07,130 --> 00:49:12,400 I kao što vidite ovdje, upravo smo neka dok je ovaj condition-- pitanje? 1082 00:49:12,400 --> 00:49:15,238 >> PUBLIKA: Kako mogu skočiti zapravo ne samo jedan broj, 1083 00:49:15,238 --> 00:49:19,030 ali dva broja [nečujan] I plus plus plus? 1084 00:49:19,030 --> 00:49:23,390 >> ALLISON: Dakle, pitanje je kako možeš ažurirati svoj varijablu više od jedne 1085 00:49:23,390 --> 00:49:24,070 u isto vrijeme. 1086 00:49:24,070 --> 00:49:26,860 Tako sam plus plus će Ažuriranje po jedan svaki put. 1087 00:49:26,860 --> 00:49:32,310 Ako ste htjeli da je ažurirati dva, što bi mogao činiti ja plus 2 jednako. 1088 00:49:32,310 --> 00:49:34,526 >> ROB Bowden: Jeste li vidjeli plus jednako u predavanju još? 1089 00:49:34,526 --> 00:49:35,442 >> PUBLIKA: [nečujan]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> ALLISON: To je učinkovito Ista stvar kao i ja jednako i plus 2. 1092 00:49:42,110 --> 00:49:46,130 Dakle, to će ga uzeti i ga ažurirati po dva svaki put. 1093 00:49:46,130 --> 00:49:49,432 Plus jednaka je samo nešto zovemo sintaktičke šećer. 1094 00:49:49,432 --> 00:49:52,390 ROB Bowden: Da, oni postoje prilično mnogo sve aritmetički operatori. 1095 00:49:52,390 --> 00:49:55,830 Tako sam puta jednaka do će udvostručiti broj. 1096 00:49:55,830 --> 00:50:02,590 j podjela iznosi 3 je ista kao j jednak j podijeljen s 3. 1097 00:50:02,590 --> 00:50:07,399 >> ALLISON: Ili minus iznosi 2 bi opadanje ja po dva svaki put. 1098 00:50:07,399 --> 00:50:08,565 ROB Bowden: Čak mod jednaki. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 Niste vidjeli bitovni operatori, ali znak za umetanje jednako i znak za struju iznosi, 1101 00:50:13,270 --> 00:50:14,560 svi oni postoje. 1102 00:50:14,560 --> 00:50:19,480 >> ALLISON: Pa mnogo puta, pogotovo sa svojim prvim P skupova, 1103 00:50:19,480 --> 00:50:22,527 ćete se vjerojatno povećavati strane jedna, pa sam plus plus, j plus plus 1104 00:50:22,527 --> 00:50:24,610 su sve stvari koje idete se obično se koriste. 1105 00:50:24,610 --> 00:50:28,240 Ali to ažuriranje stanje potpunosti unutar vaše kontrole. 1106 00:50:28,240 --> 00:50:32,310 Možete ga ažurirati bilo kakvim koracima ili na bilo koji način da se odlučite. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 Možda čak želite da bude slučajni broj ponekad. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 Ali da, postoji mnogo stvari koje možete učiniti s tim. 1111 00:50:39,580 --> 00:50:41,280 Niste ograničeni na i plus plus. 1112 00:50:41,280 --> 00:50:44,400 >> ROB Bowden: Samo da vas Znam da postoji, ona također 1113 00:50:44,400 --> 00:50:46,960 postoji u drugom obliku, plus plus ja. 1114 00:50:46,960 --> 00:50:51,410 Dakle, ako ste ikada ste u potrazi na internetu i dogoditi da vidim plus plus ja, 1115 00:50:51,410 --> 00:50:52,870 prilično puno znači istu stvar. 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 Dobro? 1120 00:50:56,740 --> 00:50:57,240 Strašan. 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 Dakle, dok petlje. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 Vrlo slično. 1125 00:51:02,570 --> 00:51:03,737 Imate neki uvjet. 1126 00:51:03,737 --> 00:51:05,820 Glavna stvar za primijetiti Ovdje je, umjesto da 1127 00:51:05,820 --> 00:51:08,540 Tri različite dijelove postaviti, imamo jednu. 1128 00:51:08,540 --> 00:51:11,090 Mi samo imamo neke uvjete koji je se provjerava. 1129 00:51:11,090 --> 00:51:14,920 I na isti način, sve dok da je uvjet true, 1130 00:51:14,920 --> 00:51:16,840 Vaš broj će se pokrenuti. 1131 00:51:16,840 --> 00:51:18,870 A ako je lažna, to će prekinuti, potez 1132 00:51:18,870 --> 00:51:21,930 na sljedeći dio vašeg programa. 1133 00:51:21,930 --> 00:51:25,780 Dakle, ovo je vrsta like-- što je Dobar primjer za provjeru 1134 00:51:25,780 --> 00:51:27,215 neko normalno stanje? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL: Dok je istina. 1137 00:51:30,235 --> 00:51:32,110 ALLISON: Vi mogli učiniti dok je istina. 1138 00:51:32,110 --> 00:51:33,510 Pa, 1 je jednak 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB Bowden: Možete napraviti while-- Samo umjesto korištenja za petlje, 1141 00:51:37,642 --> 00:51:39,600 uvijek možete kodirati za petlju u while petlji 1142 00:51:39,600 --> 00:51:42,600 pa sam veći od 0 ili Dok sam manje od 10. 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> ALLISON: Strašan. 1145 00:51:46,010 --> 00:51:50,640 A onda smo učiniti dok petlje, koja je super za korisnika vrednovanje, gdje 1146 00:51:50,640 --> 00:51:55,370 želite dobiti nešto od Vaš korisnički, vidi ako je valjana, 1147 00:51:55,370 --> 00:51:57,060 a zatim nastaviti od tamo. 1148 00:51:57,060 --> 00:52:04,000 Dakle, jedna od stvari koje treba znati je s učiniti dok je u tome što će se izvršiti, 1149 00:52:04,000 --> 00:52:08,000 a onda će ponovno izvršiti ako je ispunjen taj uvjet. 1150 00:52:08,000 --> 00:52:11,240 >> Tako je vjerojatno najbolji način da to učinite je samo vidjeti primjer ovdje. 1151 00:52:11,240 --> 00:52:14,620 Dakle, kao što sam upravo spomenuto, korisnika valjanosti stvarno useful-- 1152 00:52:14,620 --> 00:52:17,520 ili učiniti dokle su stvarno korisne korisnika validacije. 1153 00:52:17,520 --> 00:52:19,730 Dakle, to samo ide ponovno potaknuti neke korisnika 1154 00:52:19,730 --> 00:52:23,640 dok uđu pozitivan broj, što bi moglo biti korisno za svoju P set 1155 00:52:23,640 --> 00:52:24,190 ovaj tjedan. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 I tako u ovom slučaju, kad smo početku pokrenuti ovaj program, 1158 00:52:29,480 --> 00:52:32,260 to će ispisati unesite pozitivan broj. 1159 00:52:32,260 --> 00:52:34,810 To će dobiti neki unos od korisnika, 1160 00:52:34,810 --> 00:52:38,320 i onda će provjeriti ulaz se protiv stanja 1161 00:52:38,320 --> 00:52:39,500 koje ste postavili za to. 1162 00:52:39,500 --> 00:52:41,030 >> Dakle, u ovom slučaju to će provjeriti. 1163 00:52:41,030 --> 00:52:44,190 To će reći, u redu, je naš ulaz negativna, 1164 00:52:44,190 --> 00:52:47,175 ili je 0 ili negativan, koji će biti nevažeći. 1165 00:52:47,175 --> 00:52:48,300 Pa onda bi ponovno brz. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 Pitanje? 1168 00:52:50,780 --> 00:52:54,720 >> PUBLIKA: Je li to isto onda kao dok petlje i ako samo kopirati taj kod 1169 00:52:54,720 --> 00:52:56,680 i staviti ga [nečujan] while petlja? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> ALLISON: Dakle, pitanje je bi ovo biti isti kao samo neko vrijeme 1172 00:53:05,160 --> 00:53:08,570 petlje, ako smo bili samo kopirati while petlja gore. 1173 00:53:08,570 --> 00:53:12,440 Dakle, u ovom slučaju, vaše vrijeme petlja će provjeriti stanje na prvom mjestu. 1174 00:53:12,440 --> 00:53:15,300 Dakle, u ovom slučaju, ako ćemo suditi pisati samo kao while petlji 1175 00:53:15,300 --> 00:53:18,010 što će reći vrijeme ulaz je manje od jednog. 1176 00:53:18,010 --> 00:53:20,801 Ali nemamo ulaz za njega. 1177 00:53:20,801 --> 00:53:24,238 >> PUBLIKA: Ako vas [nečujan] while petlja uključujući tu šifru, 1178 00:53:24,238 --> 00:53:28,166 ali onda nosile kôd iznad while petlje također. 1179 00:53:28,166 --> 00:53:31,052 Upravo ste imali ovaj kod [Nečujan] while petlja. 1180 00:53:31,052 --> 00:53:32,760 ALLISON: Bilo bi ista stvar, da. 1181 00:53:32,760 --> 00:53:37,110 Dakle, vi samo mogli write-- umjesto da do-- da. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL: Ali to je elegantnije. 1184 00:53:39,350 --> 00:53:41,020 ALLISON: Da, to je elegantnije. 1185 00:53:41,020 --> 00:53:44,560 Možete dobiti u dizajnu i sitnica, ali da, možete se potpuno učiniti. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 Ima li još pitanja? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 U redu, u redu. 1190 00:53:50,250 --> 00:53:55,540 >> Tako smo razgovarali puno o uvjetima sa svim tim petlje koje imamo, 1191 00:53:55,540 --> 00:53:58,615 tako da smo zapravo uzimajući u uvjeti u Boolean izraza. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 Opet, koristite ove u C, pa samo vrsta prelazaka 1194 00:54:03,440 --> 00:54:06,050 više od grafičkog sučelja zapravo kodiranja. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> Cool, tako da jedan veliki, ako je. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 Uglavnom samo nam omogućuje uvođenje neke logike u naš program i provjeriti 1199 00:54:17,070 --> 00:54:17,790 sys uvjeti. 1200 00:54:17,790 --> 00:54:22,150 Dakle, u ovom slučaju, u redu, n je veći od 0? 1201 00:54:22,150 --> 00:54:24,070 Da je to, tako da možete izvršiti ovo. 1202 00:54:24,070 --> 00:54:28,060 To je samo provjeru neke uvjetom da ste 1203 00:54:28,060 --> 00:54:33,565 postaviti, što mislim da smo svi ugodno s provjere uvjeta. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 Cool. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 Dakle, ako ostalo je vaša druga, možete reći u redu, ako je to istina, 1208 00:54:44,530 --> 00:54:46,150 učinite to prva stvar. 1209 00:54:46,150 --> 00:54:48,720 Inače sam ti želim zadana i raditi nešto drugo. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 Kao u ovom slučaju, možete ili pokupiti pozitivan broj ili negativan broj. 1212 00:54:55,060 --> 00:54:56,500 Imate samo dvije mogućnosti. 1213 00:54:56,500 --> 00:54:59,550 Morate se izvršiti bez obzira na to onoga što korisničke ulaza. 1214 00:54:59,550 --> 00:55:02,920 Tako da mogu reći dobro, to je veći od 0? 1215 00:55:02,920 --> 00:55:03,480 Cool. 1216 00:55:03,480 --> 00:55:04,480 Ispis pozitivan broj. 1217 00:55:04,480 --> 00:55:06,153 Ako to nije, ispisati negativan. 1218 00:55:06,153 --> 00:55:06,960 Svi su dobro? 1219 00:55:06,960 --> 00:55:14,920 >> A onda jedna stvar prepoznati je da, ako je zadovoljen ako je uvjet, 1220 00:55:14,920 --> 00:55:16,650 inače nikada ne će izvršiti. 1221 00:55:16,650 --> 00:55:19,210 Samo jedan od njih neće izvršiti na vrijeme. 1222 00:55:19,210 --> 00:55:20,410 Tako da je trgovina off. 1223 00:55:20,410 --> 00:55:21,720 Vi ne bi imati oboje. 1224 00:55:21,720 --> 00:55:23,566 Ili ste prvi uvjet. 1225 00:55:23,566 --> 00:55:25,440 Ili ste, ako ili drugo, ne oboje. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 Koji onda može napraviti stvari još kompliciraniji, 1228 00:55:28,890 --> 00:55:31,060 jer možete učiniti ako, drugo je, a onda ostalo. 1229 00:55:31,060 --> 00:55:32,810 Dakle, u ovom slučaju, mi imaju tri uvjeta. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 I opet, samo jedan od njih je će završiti se izvršava. 1232 00:55:38,370 --> 00:55:41,030 Dakle, možda se pitate dobro, što ako vas 1233 00:55:41,030 --> 00:55:45,510 ima nešto što može zadovoljiti dva od njih. 1234 00:55:45,510 --> 00:55:49,520 Možda ono što ste unos ispunjava oba uvjeta 1235 00:55:49,520 --> 00:55:51,811 jer ako i drugdje, ako. 1236 00:55:51,811 --> 00:55:53,060 Jedina stvar koja će pokrenuti 1237 00:55:53,060 --> 00:55:56,240 >> ALLISON: Čim se nađe nešto da ispunjava uvjet za to 1238 00:55:56,240 --> 00:55:59,790 true, to je ono što to će pokrenuti i ništa drugo. 1239 00:55:59,790 --> 00:56:04,440 Dakle, ako ste imali je taj broj između 0 i 5 za svoj prvi, 1240 00:56:04,440 --> 00:56:10,530 ili je to broj između 3 i 5 za drugo, ako dio, 1241 00:56:10,530 --> 00:56:15,550 i unesete number-- Rekao sam 0 i 5 and-- 4. 1242 00:56:15,550 --> 00:56:18,110 To će pogoditi prvi. 1243 00:56:18,110 --> 00:56:20,960 To će reći OK, ovo Broj je između 0 i 5. 1244 00:56:20,960 --> 00:56:22,480 Izvršite i ostaviti. 1245 00:56:22,480 --> 00:56:25,340 Ona nikada neće pogoditi drugu opciju. 1246 00:56:25,340 --> 00:56:26,394 Cool? 1247 00:56:26,394 --> 00:56:27,250 Strašan. 1248 00:56:27,250 --> 00:56:31,300 >> U redu imamo switch izjave ako je Želite li dobiti još još mnogo toga i ispričavam se, 1249 00:56:31,300 --> 00:56:31,965 Prekidač je sljedeći. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 Ja sam uzimajući ispred sebe ovdje. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 Opet, ako je višestruki blokova gdje je kao što sam upravo rekao 1254 00:56:39,210 --> 00:56:45,600 je čim naći stanje koji je upoznao i ako inače ako drukčije, 1255 00:56:45,600 --> 00:56:46,630 to ostavlja. 1256 00:56:46,630 --> 00:56:49,560 Ako trebate provjeriti više stvari, ti si 1257 00:56:49,560 --> 00:56:53,000 će htjeti iskoristiti ovu, jer to će provjeriti svaki put ovdje. 1258 00:56:53,000 --> 00:56:58,060 Dakle, ovo će se izvoditi kroz te ako da je veći od ili jednak 90, 1259 00:56:58,060 --> 00:56:59,160 to će ispisati to. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 I to će se izvoditi kroz te provjeriti svake pojedine od njih. 1262 00:57:03,600 --> 00:57:06,444 >> PUBLIKA: Dakle, to bi bilo više lud od [nečujan]. 1263 00:57:06,444 --> 00:57:07,735 Bi li to biti kao [nečujan]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> ALLISON: Pitanje je bi to bilo lud ili to učiniti ono što želite. 1266 00:57:15,740 --> 00:57:19,830 To stvarno ovisi o tome što želite iz svog programa. 1267 00:57:19,830 --> 00:57:22,291 >> PUBLIKA: Mislim kao i ako ste stavili u 90. 1268 00:57:22,291 --> 00:57:23,290 ALLISON: Ako stavite 90-- 1269 00:57:23,290 --> 00:57:24,206 PUBLIKA: [nečujan]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL: Ti ćeš dobiti dvije stvari. 1272 00:57:27,250 --> 00:57:28,916 ALLISON: Ti ćeš dobiti dvije stvari. 1273 00:57:28,916 --> 00:57:29,420 Da, dva. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB Bowden: Dvije? 1276 00:57:33,920 --> 00:57:34,580 >> ALLISON: Ne. 1277 00:57:34,580 --> 00:57:35,288 >> ROB Bowden: Četiri. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 Ako stavite 90, to će vam reći dobio peticu, imaš B, imaš C, 1280 00:57:40,070 --> 00:57:40,545 imaš D. 1281 00:57:40,545 --> 00:57:41,461 >> PUBLIKA: [nečujan]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 ALLISON: Tako je. 1284 00:57:42,820 --> 00:57:44,778 Tako sam ovisi o tome što žele od vas programa. 1285 00:57:44,778 --> 00:57:47,050 Ponekad vam je potrebno provjeriti više stvari. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 Vi ćete dobiti puno dublje u ono što Dobar dizajn je kao i ti ići naprijed. 1288 00:57:55,270 --> 00:57:57,090 Važna stvar za shvaćaju da je to 1289 00:57:57,090 --> 00:58:01,090 će provjeriti sve četiri uvjeta ovdje. 1290 00:58:01,090 --> 00:58:05,860 Dok ako bi to bilo, ako drugo, ako drukčije ako je drugo, to bi pogodio da je prvi slučaj, 1291 00:58:05,860 --> 00:58:07,950 to će ispisati imaš A i biti učinjeno. 1292 00:58:07,950 --> 00:58:10,250 >> ROB Bowden: Čak i ako mi odlučio promijeniti to, ako 1293 00:58:10,250 --> 00:58:13,880 i veći ili jednak 90, i ako je veći od ili jednak 80, 1294 00:58:13,880 --> 00:58:19,710 i manji od ili jednak 89, ako n je veći od ili jednak 70, 1295 00:58:19,710 --> 00:58:23,830 i n manja ili jednaka 79, tako da će biti točna. 1296 00:58:23,830 --> 00:58:27,190 To će učiniti ono što želimo, ali to još uvijek provjerava svaki je. 1297 00:58:27,190 --> 00:58:34,050 >> Dakle, dok je u prvom scenariju, ako se ući sa samo 90 ako je drugo, ako drugo, ako, 1298 00:58:34,050 --> 00:58:37,300 i ulazimo u 90, a zatim to će ispraviti. 1299 00:58:37,300 --> 00:58:39,615 To će provjeriti prvi jedan, ispis imaš A, 1300 00:58:39,615 --> 00:58:42,590 preskočiti sve, jer je to već pronašao jedan koji radi. 1301 00:58:42,590 --> 00:58:46,360 Svi slučajevi su međusobno isključivi na temelju, ako drugo, ako inače ako. 1302 00:58:46,360 --> 00:58:48,630 Dakle, to će izvršiti Prvo ako je, onda se to radi. 1303 00:58:48,630 --> 00:58:49,790 To će ići do kraja. 1304 00:58:49,790 --> 00:58:52,400 >> Dok ako promijenite da je to ono što sam bio 1305 00:58:52,400 --> 00:58:54,204 govoreći s manje od ili jednako 89. 1306 00:58:54,204 --> 00:58:55,620 To će provjeriti prvi. 1307 00:58:55,620 --> 00:58:56,560 To će ispisati. 1308 00:58:56,560 --> 00:58:58,010 To će provjeriti drugu. 1309 00:58:58,010 --> 00:58:59,010 To se neće ispisati. 1310 00:58:59,010 --> 00:58:59,910 Provjerite treći. 1311 00:58:59,910 --> 00:59:00,620 Ne ide na ispis. 1312 00:59:00,620 --> 00:59:01,495 Provjerite četvrtu. 1313 00:59:01,495 --> 00:59:02,420 Sada će se ispisati. 1314 00:59:02,420 --> 00:59:05,380 Dakle, u tom slučaju, ako je drugo verzija, jer su ti slučajevi 1315 00:59:05,380 --> 00:59:09,120 se međusobno isključuju, to je bolje koristiti, ako drugo, ako drugo, ako, 1316 00:59:09,120 --> 00:59:12,970 jer to će imati manje provjera uvjeta 1317 00:59:12,970 --> 00:59:14,750 od ove verzije. 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 ALLISON: Strašan. 1320 00:59:18,400 --> 00:59:20,580 Dakle, još jedna stvar što možemo to je prekidač izjave. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 Uglavnom izjavu prekidač traje u nekim varijable, 1323 00:59:25,270 --> 00:59:28,780 U ovom slučaju to je n, a određuje kojem slučaju izvršavati. 1324 00:59:28,780 --> 00:59:33,106 Dakle, to je također jedan gdje su ti slučajevi trebao biti neka vrsta međusobno isključuju. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 Dakle, u tom slučaju, ako mi smo dobili jedan, to je 1327 00:59:37,940 --> 00:59:42,270 će odgovarati što god to variable-- god vrijednost n 1328 00:59:42,270 --> 00:59:48,700 je jedan od tih slučajeva, pa 1, 2, ili 3, i ispisati odgovarajuću liniju. 1329 00:59:48,700 --> 00:59:51,870 >> A onda, ako primijetite ovdje imamo i zadani, 1330 00:59:51,870 --> 00:59:54,670 koje možete of misle kao vaš drugi. 1331 00:59:54,670 --> 00:59:58,510 Dakle, ako odaberete bilo koji drugi broj osim 1, 2 i 3, u ovom slučaju 1332 00:59:58,510 --> 00:59:59,885 to je samo tiskanja nevažećim. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 Odlučivanje kada koristiti IFS odnosu ako je drukčije u odnosu na prekidače ide 1335 01:00:08,390 --> 01:00:12,590 biti nešto što ti dečki će vidi dizajn mudar kao što počnete pisati 1336 01:00:12,590 --> 01:00:15,270 složeniji programi, te da nema tvrdih i brzo pravila 1337 01:00:15,270 --> 01:00:16,330 kada ih koristiti. 1338 01:00:16,330 --> 01:00:17,890 To stvarno ovisi o kontekstu. 1339 01:00:17,890 --> 01:00:18,590 >> ROB Bowden: I samo da ga baci vani 1340 01:00:18,590 --> 01:00:20,131 jer je ugodnije poglavlje. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 Prekidači, oni imaju tendenciju da be-- tako da ste ograničeni 1343 01:00:25,053 --> 01:00:27,430 u broju načina na koje Možete ih koristiti, jer oklijevanja, 1344 01:00:27,430 --> 01:00:30,100 stanje može biti prilično koliko sve što želite. 1345 01:00:30,100 --> 01:00:33,410 S prebacuje slučajeve moraju biti brojevi, 1346 01:00:33,410 --> 01:00:37,770 ili tehnički mogu biti znakova, ali znakova, kao što ćemo vidjeti, samo su brojke. 1347 01:00:37,770 --> 01:00:44,250 Dakle, oni moraju biti brojevi, ali se mijenja stvarno učinkovitije nego ako 1348 01:00:44,250 --> 01:00:50,060 drugo ako je drugo, ako, jer čak i uzimanje primjer before-- dobro, 1349 01:00:50,060 --> 01:00:51,486 ocjena primjer čini dobro. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> Pa recimo ovdje, mi umjesto toga napraviti to što je, ako drukčije, ako inače ako scenarij. 1352 01:00:57,080 --> 01:01:00,930 Dakle, ako je n jednak jednak 1, ispisati ste odabrali mali broj. 1353 01:01:00,930 --> 01:01:04,490 Ako je drugo, ako je n jednak jednak 2, ste odabrali srednje broj. 1354 01:01:04,490 --> 01:01:06,550 Inače, ako jednaki iznosi 3, visoka. 1355 01:01:06,550 --> 01:01:08,060 Inače nevažeći. 1356 01:01:08,060 --> 01:01:09,820 >> Pa recimo da je naš scenarij. 1357 01:01:09,820 --> 01:01:14,060 Pa recimo da ulazimo 4, tako da očekujemo nevažeća. 1358 01:01:14,060 --> 01:01:17,410 Način da ako inače ako drukčije ako je pristup ide na posao je 1359 01:01:17,410 --> 01:01:18,740 provjerava prvi uvjet. 1360 01:01:18,740 --> 01:01:19,776 Nije zadovoljan. 1361 01:01:19,776 --> 01:01:21,150 Tako smo provjerili drugi uvjet. 1362 01:01:21,150 --> 01:01:21,940 Nije zadovoljan. 1363 01:01:21,940 --> 01:01:23,023 Provjerite treće stanje. 1364 01:01:23,023 --> 01:01:23,640 Nije zadovoljan. 1365 01:01:23,640 --> 01:01:26,650 Dakle, idemo na drugo i ispis nevažeći. 1366 01:01:26,650 --> 01:01:30,169 >> Način na prekidač radovi je li to sastavlja prema dolje 1367 01:01:30,169 --> 01:01:31,960 u ono što ćemo pozvati skok stol. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 Glavna ideja biće da kada uđete 4, 1370 01:01:37,120 --> 01:01:39,090 to može odmah otići na zadanu. 1371 01:01:39,090 --> 01:01:41,460 To ne treba provjeriti jesam li slučaj 1? 1372 01:01:41,460 --> 01:01:42,350 Nope to nije to. 1373 01:01:42,350 --> 01:01:42,850 Slučaj 2? 1374 01:01:42,850 --> 01:01:43,240 Nope. 1375 01:01:43,240 --> 01:01:43,770 Slučaj 3? 1376 01:01:43,770 --> 01:01:44,270 Nope. 1377 01:01:44,270 --> 01:01:45,090 Zadani. 1378 01:01:45,090 --> 01:01:47,610 U redu, to mora biti tamo gdje sam žele, a zatim izvršiti to. 1379 01:01:47,610 --> 01:01:49,590 Ne, to se odmah skače na zadani. 1380 01:01:49,590 --> 01:01:51,900 Ili da ulazim 2, to je Odmah će ići u 2 1381 01:01:51,900 --> 01:01:54,060 bez potrebe da ide kroz slučaj 1. 1382 01:01:54,060 --> 01:01:57,820 >> Dakle, na taj način, realno danas da je 1383 01:01:57,820 --> 01:02:00,250 Ne toliko od dobitka učinkovitosti. 1384 01:02:00,250 --> 01:02:02,880 Obično računala su prilično brzo, a to nije tako velika. 1385 01:02:02,880 --> 01:02:07,270 Ali, to je slučaj da prekidači su brži. 1386 01:02:07,270 --> 01:02:10,380 Ako ste stvarno pokušavamo optimizirati, koristite prekidač. 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 I onda imamo trostruki operatera. 1390 01:02:15,270 --> 01:02:19,470 Tako da znam što sam spomenuo ranije Riječ sintaktička šećera. 1391 01:02:19,470 --> 01:02:24,160 Dakle, to je samo stvari koje čine Vaš kod mnogo koncizan. 1392 01:02:24,160 --> 01:02:25,590 Dakle, ovo je jedan od tih slučajeva. 1393 01:02:25,590 --> 01:02:31,430 >> Dakle ternarna operator upitnik debelog crijeva kao što smo vidjeli u liniji nizu 1394 01:02:31,430 --> 01:02:35,810 a jednak je n veći od 100 upitnik visoka debelog niska. 1395 01:02:35,810 --> 01:02:41,800 Tako je u osnovi kako se to radi je to n veći od 100 je stanje. 1396 01:02:41,800 --> 01:02:43,674 Dakle, mislim da to može imati smisla. 1397 01:02:43,674 --> 01:02:44,840 To je kao da pitate pitanje. 1398 01:02:44,840 --> 01:02:47,320 To govori o, n veći od 100. 1399 01:02:47,320 --> 01:02:48,340 Tko zna? 1400 01:02:48,340 --> 01:02:50,750 A ako je ta vrijednost Istina, to će vam dati 1401 01:02:50,750 --> 01:02:54,270 Prva stvar koja je na popisu nema, što je visoka. 1402 01:02:54,270 --> 01:02:55,840 Inače to će vam dati niska. 1403 01:02:55,840 --> 01:03:01,210 Dakle, ovo je samo jako jednostavan i učinkovit način da se ne sviđa, ako drugo. 1404 01:03:01,210 --> 01:03:02,780 To je sve to. 1405 01:03:02,780 --> 01:03:07,450 >> A ako smo napisati to kao drugo, ako uvjetno, 1406 01:03:07,450 --> 01:03:12,480 da bi se, ako je n veći od 100, vratiti visoka. 1407 01:03:12,480 --> 01:03:14,220 Inače, povratak niska. 1408 01:03:14,220 --> 01:03:17,570 Ovo je samo još mnogo toga jezgrovit način pisanja. 1409 01:03:17,570 --> 01:03:27,090 >> ROB Bowden: Dakle, ovaj primjer je, kad god radite nešto 1410 01:03:27,090 --> 01:03:30,190 ovako, ovo je uzorak gdje sam koristiti ternarnih vrlo često. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 Dakle, nismo razgovarali o opsegu, ali, ali Mrzim vidim String s zarez. 1413 01:03:35,460 --> 01:03:39,150 Ako je n veći od 100, a jednako visok. 1414 01:03:39,150 --> 01:03:40,660 Inače, s jednako niska. 1415 01:03:40,660 --> 01:03:45,070 Tako da uzorak, tih pet linija koda doslovno 100% vremena 1416 01:03:45,070 --> 01:03:49,800 može se prenijeti u što bio tamo s ternarna. 1417 01:03:49,800 --> 01:03:52,340 Dakle ternarna, jedna linija koda. 1418 01:03:52,340 --> 01:03:54,640 Ako je drugo, pet. 1419 01:03:54,640 --> 01:03:56,910 To je primjer ukazujem kako svakom pojedinom trenutku. 1420 01:03:56,910 --> 01:03:59,250 To bi sjajno mjesto za ternarnog operatora. 1421 01:03:59,250 --> 01:04:00,647 To je tako čisto. 1422 01:04:00,647 --> 01:04:01,980 No, ljudi imaju tendenciju da nikada ne koristiti. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> ALLISON: Uzmi ga daleko Gabeu. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: Pa sad vi svi naučio u predavanju ovaj tjedan 1426 01:04:11,110 --> 01:04:13,420 da je sve u Računalo je binarna, zar ne? 1427 01:04:13,420 --> 01:04:14,570 Baš kao lampi ovdje. 1428 01:04:14,570 --> 01:04:16,492 Možete biti uključen i isključen. 1429 01:04:16,492 --> 01:04:18,450 A po svemu, mislim doslovno sve. 1430 01:04:18,450 --> 01:04:24,272 Neke brojke i znakova, i žice, pa čak i kod koji ste napisali, kada 1431 01:04:24,272 --> 01:04:26,480 to dobiva sastavio stroj broj i stvari kao što je to, 1432 01:04:26,480 --> 01:04:29,230 tako da sve se svodi na 0-a i 1 '. 1433 01:04:29,230 --> 01:04:34,540 >> I tako, kada imamo posla s brojeva koji 1434 01:04:34,540 --> 01:04:38,000 je nešto što je tehnički vrlo jednostavna, trebali bismo biti u mogućnosti napraviti stvari 1435 01:04:38,000 --> 01:04:40,630 kao što ih je dodao, što je vjerojatno jedan od najjednostavnijih stvari 1436 01:04:40,630 --> 01:04:42,300 možete učiniti za dva broja, zar ne? 1437 01:04:42,300 --> 01:04:47,410 Dakle, zbrajanje i oduzimanje radi samo kao što se to radi u decimalnom zapisu, 1438 01:04:47,410 --> 01:04:50,780 osim ovdje je binarna, zar ne? 1439 01:04:50,780 --> 01:04:52,090 Tako da je u bazi dva. 1440 01:04:52,090 --> 01:04:54,070 Dakle, dodajte 1 plus 1. 1441 01:04:54,070 --> 01:04:57,020 To daje 0, a 1 prenosi. 1442 01:04:57,020 --> 01:05:01,335 I upravo bi taj događaj, tako da sada dolazi još zanimljivo pitanje. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> Znamo kako to predstavlja sve pozitivni cijeli brojevi u računalu, 1445 01:05:07,710 --> 01:05:09,870 no budimo to vježba. 1446 01:05:09,870 --> 01:05:15,240 Pretvarajte se da ste vi svi u 1960 ili nešto pokušava stvoriti računalo, 1447 01:05:15,240 --> 01:05:19,950 i morate doći do mjesta način skladištenja minus 1, 1448 01:05:19,950 --> 01:05:22,554 na primjer, bilo koji ili minus broj za tu stvar. 1449 01:05:22,554 --> 01:05:23,470 Kako bi ste to učinili? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 Bilo koji ideja? 1452 01:05:29,220 --> 01:05:31,302 Samo bacati bilo što u meni. 1453 01:05:31,302 --> 01:05:32,264 Da? 1454 01:05:32,264 --> 01:05:39,480 >> PUBLIKA: [nečujan] odrediti Posebno ako je vaš [nečujan]. 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL: Možete odrediti Poseban malo, koji će biti 0 ili 1. 1456 01:05:42,590 --> 01:05:45,590 Recimo jedan ako je to pozitivno a 0 ako je negativan. 1457 01:05:45,590 --> 01:05:48,171 I onda ostatak malo je samo pohraniti broj. 1458 01:05:48,171 --> 01:05:48,670 Cool. 1459 01:05:48,670 --> 01:05:49,990 Dakle, to je vrlo dobra ideja. 1460 01:05:49,990 --> 01:05:51,550 Imamo, ne znam, 200. 1461 01:05:51,550 --> 01:05:54,720 A ako prvo malo je uključen, onda je plus 200. 1462 01:05:54,720 --> 01:05:57,270 Ako je isključen, što je minus 200. 1463 01:05:57,270 --> 01:05:58,380 Cool. 1464 01:05:58,380 --> 01:06:01,350 >> Postoji samo jedna mala Problem s ovim, 1465 01:06:01,350 --> 01:06:05,370 koji je, ako ćemo pokušati Ukratko stvari. 1466 01:06:05,370 --> 01:06:18,910 Pa zamislite imamo 11.111 ovdje, a mi smo zbrajanjem ovo sa 00.100 god. 1467 01:06:18,910 --> 01:06:21,630 Ako oni dvojica su pozitivni, to je u redu. 1468 01:06:21,630 --> 01:06:24,470 Ali onda, ako jedan od ih je negativan, kao što 1469 01:06:24,470 --> 01:06:27,410 recimo da je ovo malo ovdje je onaj koji je odgovoran 1470 01:06:27,410 --> 01:06:31,390 for-- ću napraviti separate-- tako da je ovo jedan znači da je taj broj ovdje 1471 01:06:31,390 --> 01:06:31,970 pozitivna. 1472 01:06:31,970 --> 01:06:34,450 To znači da ova jedna broj ovdje je negativan, zar ne? 1473 01:06:34,450 --> 01:06:37,010 >> Ali onda kada si će ih Ukratko, vi 1474 01:06:37,010 --> 01:06:40,180 potrebna ako izjavu govoreći oh, ako je to 0, 1475 01:06:40,180 --> 01:06:43,479 onda moj suma će biti nešto drugo, zar ne? 1476 01:06:43,479 --> 01:06:45,270 Dakle, postoji nešto više pametan način da to učinite 1477 01:06:45,270 --> 01:06:48,520 da, što se naziva dva komplement. 1478 01:06:48,520 --> 01:06:52,350 Tako je u osnovi ono što mi to je definiramo minus 1 1479 01:06:52,350 --> 01:06:57,250 da se stvar da ako Dodamo do 1 daje nam 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 Dopustite mi da ponovim da. 1482 01:07:00,860 --> 01:07:03,280 Pa recimo da je ovo ovdje je 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 Što je ono što naravno, u brojeva 1485 01:07:13,570 --> 01:07:15,570 dodao da to nam daje 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 Što ako ćemo pokušati ga dodali na ovaj broj? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 Idemo have-- redu, pa neka je dodati. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 Mi ćemo imati 1 plus 1 0, a onda prenosi. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 A onda ćemo dobiti 0 opet. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 Ja sam dobivanje zbunjeni. 1496 01:07:48,820 --> 01:07:51,670 I ti ćeš dobiti 0 i 0 i 0 i 0 i 0 i 0. 1497 01:07:51,670 --> 01:07:52,450 Mnogo 0 godina. 1498 01:07:52,450 --> 01:07:56,240 >> Na posljednjem jedan, nismo će biti u mogućnosti to prenijeti, 1499 01:07:56,240 --> 01:07:59,614 jer recimo imamo samo bave s jednim bajt, tako da samo 8 bitova. 1500 01:07:59,614 --> 01:08:02,780 Dakle, ono što računalo radi po defaultu samo zaboravlja da je [nečujan] 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 Dakle, to je ono što se zove Dvojica komplement. 1504 01:08:06,880 --> 01:08:15,180 Mi jednostavno definirati minus 1 do bude stvar ovdje da ako ste dodali da na 1 1505 01:08:15,180 --> 01:08:15,995 će vam dati 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 I to je prilično cool jer mi stvarno ne 1508 01:08:20,180 --> 01:08:24,090 potrebno kasno za provedbu različite vrste zbroja 1509 01:08:24,090 --> 01:08:26,590 ovisno o tome je li to negativan ili pozitivan broj. 1510 01:08:26,590 --> 01:08:27,465 Znači li to smisla? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> Dakle, jedna stvar koja nam je činiti Ovdje bi se pretvoriti 1513 01:08:32,370 --> 01:08:38,550 između pozitivnog i negativnog broj onda se možemo okrenuti sve, 1514 01:08:38,550 --> 01:08:40,930 a onda smo dodali 1 do tog broja. 1515 01:08:40,930 --> 01:08:43,140 Ako pokušate to učiniti sami na komad papira, 1516 01:08:43,140 --> 01:08:44,681 ti ćeš vidjeti da ima smisla. 1517 01:08:44,681 --> 01:08:51,000 Ali ako uzmem taj broj ovdje, ovo je pet. 1518 01:08:51,000 --> 01:08:54,859 Dakle, ako sam okrenuti sve ovdje, pa 1, 1, 1, 1, 1. 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 Flip, flip, flip. 1521 01:08:57,830 --> 01:09:00,130 A onda dodam 1 do njega. 1522 01:09:00,130 --> 01:09:02,750 Ja ću imati točno minus 5. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> Ova vrsta ima smisla, jer ako te pokušati sumirati to s brojem 1525 01:09:06,220 --> 01:09:10,229 koje smo imali prije, što was-- ćemo okrenuti to opet. 1526 01:09:10,229 --> 01:09:12,999 Bilo je 101, a puno je 0. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 Ako pokušate dodati tih dva broja zajedno, 1529 01:09:15,670 --> 01:09:16,961 ti ćeš imati točno 0. 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 U redu. 1532 01:09:19,460 --> 01:09:19,884 Bilo kakva pitanja? 1533 01:09:19,884 --> 01:09:20,759 >> PUBLIKA: [nečujan] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL: Što misliš? 1536 01:09:27,280 --> 01:09:29,240 >> PUBLIKA: Negativno se Pozitivan [nečujan]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: Ne, flip i dodate 1 uvijek. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 Da. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 U redu, tako da likovi također kodirani izvršne datoteke. 1542 01:09:39,680 --> 01:09:42,649 Imamo ASCII tablicu, kao i vi Također vidio u predavanju, zar ne? 1543 01:09:42,649 --> 01:09:45,040 Dakle, to je u osnovi mapiranje stvari. 1544 01:09:45,040 --> 01:09:50,960 I tu ja ne mogu dovoljno naglasiti da za računalom, a 65 1545 01:09:50,960 --> 01:09:52,770 doslovno ista stvar. 1546 01:09:52,770 --> 01:10:03,430 Dakle, ako napišem nešto poput char c jednak, mogao sam u isto vrijeme 1547 01:10:03,430 --> 01:10:06,890 samo pisati 65 ovdje, i to bi biti isti, u redu? 1548 01:10:06,890 --> 01:10:08,470 Nema nikakve razlike. 1549 01:10:08,470 --> 01:10:12,420 >> Mi obično imaju tendenciju da se stavi likovi u varijabli tipa. 1550 01:10:12,420 --> 01:10:16,770 Char, ne zato što su oni u biti napravljen za to, nego zato 1551 01:10:16,770 --> 01:10:18,050 ljudske konvencije. 1552 01:10:18,050 --> 01:10:22,410 No, možete jednostavno nositi s cijelih brojeva umjesto varijable tipa char, 1553 01:10:22,410 --> 01:10:23,490 a vi ćete biti u redu. 1554 01:10:23,490 --> 01:10:28,410 Jedina stvarna razlika između char c i int i 1555 01:10:28,410 --> 01:10:31,960 je da int ima četiri bajtova u većini sustavi, a char ima jedan bajt. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 Oni su u biti Ista stvar u smislu podataka. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 Pa što će se ispisivati ​​ovdje? 1560 01:10:37,990 --> 01:10:43,780 Ovdje smo ispisa znamenku pomoću printf s plus 1, a baš kao i brojeva, 1561 01:10:43,780 --> 01:10:46,240 znakova mogu zbrajati, tako znakovi mogu se sažeti. 1562 01:10:46,240 --> 01:10:47,890 Dakle, to je točno 65. 1563 01:10:47,890 --> 01:10:49,950 Tako će biti 66, a ovdje imamo 1564 01:10:49,950 --> 01:10:56,860 65 plus mali minus veliko, što će biti, ne znam. 1565 01:10:56,860 --> 01:11:00,900 No, to će biti upravo jaz između slovima 1566 01:11:00,900 --> 01:11:07,800 a i manja slova, tako ćemo dobiti je mala, zar ne? 1567 01:11:07,800 --> 01:11:08,300 Da. 1568 01:11:08,300 --> 01:11:11,740 Dakle, to će se ispisati lik koji je upravo ova. 1569 01:11:11,740 --> 01:11:12,260 Dobro? 1570 01:11:12,260 --> 01:11:12,860 Bilo kakva pitanja? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> Ovdje imamo hrpu različitih Tipovi za numeričke varijable. 1573 01:11:19,430 --> 01:11:20,620 Već smo razgovarati o int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float je samo način na koji to-- ovo je stvarno smiješno, jer kad sam prvi put saznao 1576 01:11:27,760 --> 01:11:32,320 programirati natrag u dan s Python, sam ikad prvi program 1577 01:11:32,320 --> 01:11:37,480 pokušao napisati, vidio sam da je Tip se zove i zove tipa float. 1578 01:11:37,480 --> 01:11:39,800 A plovak je za sve realne brojeve. 1579 01:11:39,800 --> 01:11:43,290 Pa onda sam pitao zašto bi Sam ikada koristiti int onda? 1580 01:11:43,290 --> 01:11:45,590 Jer ako ja mogu koristiti sve realni brojevi s plovak, 1581 01:11:45,590 --> 01:11:47,120 Ja bih samo prestati koristiti Ints, zar ne? 1582 01:11:47,120 --> 01:11:49,550 Jer pravi brojevi su baš kao i više općenito. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> Ispada da je to Nije slučaj u računalima 1585 01:11:54,060 --> 01:11:58,480 jer oni su u biti različite stvari. 1586 01:11:58,480 --> 01:12:01,470 Dakle, brojeva i kola, operacije koje radite s njima 1587 01:12:01,470 --> 01:12:04,739 bitno razlikuju jer načina na koji su pohranjene, u redu? 1588 01:12:04,739 --> 01:12:07,280 Idemo razgovarati malo malo više o tome u sekundi. 1589 01:12:07,280 --> 01:12:09,110 >> Tako je samo dvaput veća plovak. 1590 01:12:09,110 --> 01:12:12,830 Obično u većini sustava, plutaju je četiri bajta, baš kao i int. 1591 01:12:12,830 --> 01:12:15,440 I dvaput je osam bajtova. 1592 01:12:15,440 --> 01:12:21,450 Dugo dugo je zapravo samo simbol da li dodati tipu poput int. 1593 01:12:21,450 --> 01:12:24,040 Kažeš dugo dugo int ovako. 1594 01:12:24,040 --> 01:12:28,550 Dugo dugo int x to napraviti više. 1595 01:12:28,550 --> 01:12:32,310 Tako je u većini sustava, koji će dati bajtova osam umjesto uobičajenih četiri. 1596 01:12:32,310 --> 01:12:35,620 A što zapravo može pasti u, tako da mogu samo reći dugo dugo, 1597 01:12:35,620 --> 01:12:37,240 i da radi previše, u redu? 1598 01:12:37,240 --> 01:12:42,850 Također možete raditi druge stvari kao što su unsigned int, ili opet samo nepotpisani 1599 01:12:42,850 --> 01:12:43,680 će također raditi. 1600 01:12:43,680 --> 01:12:49,370 I to bi bilo x varijabla kao i sve što je pozitivno, 1601 01:12:49,370 --> 01:12:53,231 tako da zapravo ne mogu imati negativan Brojevi na način na koji smo vidjeli ovdje. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 Dakle, slijedi divno pomičnim zarezom i preciznost. 1604 01:12:58,650 --> 01:13:01,890 To je jedan od razloga zašto vas želite koristiti Ints umjesto kola, 1605 01:13:01,890 --> 01:13:04,370 jer Ints su 100% precizni, zar ne? 1606 01:13:04,370 --> 01:13:06,170 To je upravo taj broj. 1607 01:13:06,170 --> 01:13:11,910 Za plutajuće točke, ako vas kažu odgovor jednak 1 preko 10-- 1608 01:13:11,910 --> 01:13:14,690 Ja se dogoditi da se to točno Program ovdje, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 To ispisuje do 20 decimalnih mjesta. 1611 01:13:19,420 --> 01:13:23,270 1 podijeljen s 10, a to Obično je 0,1, zar ne? 1612 01:13:23,270 --> 01:13:27,910 Ali ovdje ako napravimo plutaju, a onda smo ga pokrenuti, 1613 01:13:27,910 --> 01:13:30,320 vidimo da to nije točno 0.1. 1614 01:13:30,320 --> 01:13:33,570 To je 0,149 nešto. 1615 01:13:33,570 --> 01:13:35,570 >> A zašto je to tako? 1616 01:13:35,570 --> 01:13:40,390 Zato što zapravo ne može predstavljati svaka Jedan mogući realni broj u memoriji 1617 01:13:40,390 --> 01:13:42,730 jer postoje uncountably mnogi od njih. 1618 01:13:42,730 --> 01:13:48,360 Tako smo tehnički samo u mogućnosti predstavlja konačnu količinu njih 1619 01:13:48,360 --> 01:13:50,470 s konačnim količinom podataka. 1620 01:13:50,470 --> 01:13:52,050 Ali, to je stvarno zanimljivo. 1621 01:13:52,050 --> 01:13:54,920 Sada to moli Pitanje kako što bi 1622 01:13:54,920 --> 01:13:59,299 ići oko zastupanje ovo s bitova, zar ne? 1623 01:13:59,299 --> 01:14:00,340 Pa kako se spremaju pluta? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 Uz brojeva bilo je lako. 1626 01:14:03,730 --> 01:14:06,690 No, s plovcima želite kako bi se povećala raspon, 1627 01:14:06,690 --> 01:14:10,530 a vi želite biti u mogućnosti da predstavljaju veliki brojevi i vrlo maleni brojevi poput 1628 01:14:10,530 --> 01:14:14,210 0.000001 istovremeno. 1629 01:14:14,210 --> 01:14:15,180 Pa opet, ista igra. 1630 01:14:15,180 --> 01:14:20,470 Se bilo tko imati bilo koji ideja kako bismo mogli ići oko zastupanje plutaju u sjećanju? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 Samo bacajte ništa. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 Da, molim te. 1635 01:14:30,856 --> 01:14:33,552 >> PUBLIKA: [nečujan] kao ako je dva Ints i jedan 1636 01:14:33,552 --> 01:14:36,890 što [nečujan] i jedan biće sve nakon decimalne točke. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, super. 1638 01:14:37,640 --> 01:14:40,300 Dakle, dva različita prirodna broja. 1639 01:14:40,300 --> 01:14:45,260 Možete imati 12,45, tako da je 12. i 45. 1640 01:14:45,260 --> 01:14:45,890 Lijepo. 1641 01:14:45,890 --> 01:14:46,973 Što ERE ćeš reći? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 Ista stvar? 1644 01:14:49,430 --> 01:14:49,930 Da? 1645 01:14:49,930 --> 01:14:55,630 >> PUBLIKA: [nečujan] zapis gdje se odvojiti bazu. 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL: Znanstveni zapis, Da to je obično ono što se događa. 1647 01:14:58,910 --> 01:15:01,350 Dakle, to je ono što se zove kazaljka. 1648 01:15:01,350 --> 01:15:06,490 To je ono što je zapravo broj, a zatim eksponent 1649 01:15:06,490 --> 01:15:08,780 je samo gdje zarez je, zar ne? 1650 01:15:08,780 --> 01:15:13,720 Dakle, to će biti nešto obrasca 1, 2, 3, 4, 5 puta 10 1651 01:15:13,720 --> 01:15:15,000 na minus 4. 1652 01:15:15,000 --> 01:15:17,800 Upravo sam shvatio that-- Da, točno. 1653 01:15:17,800 --> 01:15:23,372 A onda je to 10 na minus 4 je će definirati gdje zarez je, u redu? 1654 01:15:23,372 --> 01:15:24,330 U Brazilu koristimo zarez. 1655 01:15:24,330 --> 01:15:26,795 Evo ti dečki koristite točku. 1656 01:15:26,795 --> 01:15:27,640 Dakle, točka. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> I to je super, jer onda možete usredotočiti puno vaših bitova na ovim tipom 1659 01:15:34,840 --> 01:15:40,863 Ovdje, na kazaljka, a zatim da je će biti vaša stvarna preciznost. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 A možete to učiniti bilo u decimale ili u binarnom sustavu zasnovanom. 1662 01:15:47,175 --> 01:15:49,781 Postoje različiti načina kako provesti ovo. 1663 01:15:49,781 --> 01:15:50,280 Pitanja? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 Da? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 PUBLIKA: Koliko mjesta nakon decimale [nečujan]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL: To je komplicirano pitanje, jer to nikad nije 100% precizno, 1670 01:16:12,610 --> 01:16:15,680 jer kao što vidite ovdje, za neke brojeve da je 100% precizno. 1671 01:16:15,680 --> 01:16:20,350 Vjerujem da ako stavimo 0,5 ovdje to će biti 100% precizan. 1672 01:16:20,350 --> 01:16:22,220 To će biti 0,500000. 1673 01:16:22,220 --> 01:16:24,170 Dakle, u tom slučaju, to je idealno. 1674 01:16:24,170 --> 01:16:27,330 No, u drugim slučajevima, to je mnogo manje savršena. 1675 01:16:27,330 --> 01:16:35,010 Po mom iskustvu, kao i do četiri, pet decimalna mjesta je prilično precizan. 1676 01:16:35,010 --> 01:16:38,300 Ako koristite dvostruka, to će biti put precizniji od toga, u redu? 1677 01:16:38,300 --> 01:16:42,750 >> ROB Bowden: Dakle, samo baciti neki više kontekst u kola, 1678 01:16:42,750 --> 01:16:46,320 Nikad ne zaboravite 100% koliko je spec od kola zapravo radi, 1679 01:16:46,320 --> 01:16:52,660 ali ja si uvijek sjećati kako pluta počnete dobivanje neuredan. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 Dakle, ideja je da kada se stvarno, stvarno velike brojeve ili jako, jako 1682 01:17:00,930 --> 01:17:03,470 mali broj, počinjemo sve gore i gore 1683 01:17:03,470 --> 01:17:05,860 na razlikovanje između dviju bliskih plovcima. 1684 01:17:05,860 --> 01:17:09,180 >> Pa kako ja volim razmišljati o tome je s pomičnim zarezom nepreciznosti, 1685 01:17:09,180 --> 01:17:11,890 postoje dva pluta da ako sam pokušati ih navesti 1686 01:17:11,890 --> 01:17:15,150 u ° C, bez obzira na činjenicu da oni su različite brojeve, 1687 01:17:15,150 --> 01:17:17,340 oni će biti tumačiti kao istim brojem, 1688 01:17:17,340 --> 01:17:19,006 jer mi ih ne možemo pohraniti drugačije. 1689 01:17:19,006 --> 01:17:20,540 Moramo koristiti iste bitova. 1690 01:17:20,540 --> 01:17:23,220 I tako kad smo dobili jako, jako veliki broj, 1691 01:17:23,220 --> 01:17:28,460 govoriti kao 10. na 300 ili nešto, što je u tom trenutku 1692 01:17:28,460 --> 01:17:33,240 da 10 do 300 ili 5 puta po 10 do 300 1693 01:17:33,240 --> 01:17:37,020 Ne može se razlikovati od 7 do 10 puta u 300. 1694 01:17:37,020 --> 01:17:39,660 Dakle, to je prilično velika razlika između dva broja. 1695 01:17:39,660 --> 01:17:43,830 >> A onda, kada se spustite do normalnog raspona stvari, 1696 01:17:43,830 --> 01:17:45,770 imaju tendenciju da se prilično dobro razlikovanje. 1697 01:17:45,770 --> 01:17:49,020 I onda kada se spustite stvarno mali, ste također uzimajući prilično loše opet. 1698 01:17:49,020 --> 01:17:52,529 Dakle, kao što je cijela hrpa 0,0000, to dobiva prilično loše. 1699 01:17:52,529 --> 01:17:53,820 GABRIEL: Da, tako brzo bilješku. 1700 01:17:53,820 --> 01:17:54,670 Nikad to učiniti. 1701 01:17:54,670 --> 01:17:57,590 Nikad ne pokušati usporediti lebdi pomoću jednakima jednaka, 1702 01:17:57,590 --> 01:18:02,800 jer čak i ako oni su gotovo Isto, gotovo isto nije isto. 1703 01:18:02,800 --> 01:18:06,360 Dakle, ono što se obično učiniti je oduzmete ih, uzeti apsolutnu vrijednost koja, 1704 01:18:06,360 --> 01:18:12,380 i vidjeti ako je to manje od 0,0001 ili nešto slično, u redu? 1705 01:18:12,380 --> 01:18:12,880 I super. 1706 01:18:12,880 --> 01:18:16,630 Znam puno ljudi ima Neki pozadini u Javi, 1707 01:18:16,630 --> 01:18:19,700 posebno oni koji su radili AP računalnih znanosti, zar ne? 1708 01:18:19,700 --> 01:18:23,630 A Java je jezik koji se uglavnom temelji na C, 1709 01:18:23,630 --> 01:18:26,570 ima nekoliko vrlo velike razlike. 1710 01:18:26,570 --> 01:18:31,430 No, za petlje, i oklijevanja, i stvari kao što su da, oni su svi isti sintaksu. 1711 01:18:31,430 --> 01:18:35,240 Imam nekoliko programa ovdje pokazati ovo. 1712 01:18:35,240 --> 01:18:37,050 >> Tako na primjer, jednostavno Pozdrav svijetu. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 To je zdravo svijet u C, koji vam Dečki su definitivno poznaju, 1715 01:18:46,600 --> 01:18:49,100 i ovo i to je jedna u Javi. 1716 01:18:49,100 --> 01:18:53,100 Tako je u Java imamo ovo javne klase, halo svijet, 1717 01:18:53,100 --> 01:18:57,050 a public static void Glavni i gudački argumenata. 1718 01:18:57,050 --> 01:18:59,665 String argumenata idu da se pojavi u C vrlo kratko. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 Ali nemojmo ići još tamo. 1721 01:19:01,990 --> 01:19:06,060 Trenutno imamo praznina ovdje, što znači da je glavna ne poduzimati nikakve argumente. 1722 01:19:06,060 --> 01:19:09,220 I onda imamo Sustava, a to je 1723 01:19:09,220 --> 01:19:11,140 vrsta ekvivalent za printf. 1724 01:19:11,140 --> 01:19:17,150 Ovdje mi stvarno ne treba crticu n, jer ispisa ln to radi za vas. 1725 01:19:17,150 --> 01:19:19,680 Ona dodaje se crticu n na kraju linije. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> Ali ako idete u nešto kao za, 1728 01:19:30,415 --> 01:19:32,590 Možete vidjeti da su oni prilično ista stvar. 1729 01:19:32,590 --> 01:19:37,390 Dakle inicijalizacije, a stanje i ažuriranje 1730 01:19:37,390 --> 01:19:42,050 is-- sam propustio prostor here-- oni prilično ista stvar, osim Java 1731 01:19:42,050 --> 01:19:44,430 ima za još nekoliko stvari na visokoj razini. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 Ovdje možemo učiniti plus sam i Java će automatski 1734 01:19:49,610 --> 01:19:52,730 čine ovaj sam ovdje, što je cijeli broj, u nizu, 1735 01:19:52,730 --> 01:19:55,200 a zatim dodajte dvije žice zajedno. 1736 01:19:55,200 --> 01:19:57,570 Ovdje u C moramo učiniti i% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 Linija ovdje, za izgleda baš isto. 1739 01:20:18,170 --> 01:20:37,760 >> A ako gledamo li, IFS Također izgledaju točno isto, zar ne? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 Dakle, pravi velike razlike u onim stvarima koje vidite ovdje. 1742 01:20:44,650 --> 01:20:47,530 Javna statična, praznina, i zatim javne klase, ako. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 Dakle, Java je ono što je zove virtualni stroj. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 I to je vrlo teško na temelju onoga naziva objektno orijentirano programiranje, 1747 01:21:00,150 --> 01:21:04,120 što je vrlo, vrlo čest paradigma za programiranje danas. 1748 01:21:04,120 --> 01:21:10,870 I ova klasa stvar je ono što vidite, nešto od objekta orijentacije, 1749 01:21:10,870 --> 01:21:14,214 je li stvoriti klasu, a zatim vam mogu izvući predmete iz te klase. 1750 01:21:14,214 --> 01:21:16,380 Nećemo se previše govoriti toliko o tome da je u CS50, 1751 01:21:16,380 --> 01:21:18,213 ali to je definitivno nešto stvarno cool, 1752 01:21:18,213 --> 01:21:21,440 pogotovo ako želite otići u sofisticiraniji web development 1753 01:21:21,440 --> 01:21:24,050 na kraju se, naravno, kao i podnijeti svoj konačni projekt 1754 01:21:24,050 --> 01:21:26,430 i neke lijepe okvire i stvari. 1755 01:21:26,430 --> 01:21:31,250 >> Tako je u osnovi ideja je da vas Ne želim ponovno provesti nešto, 1756 01:21:31,250 --> 01:21:36,330 tako da napravite nešto što je vrlo općenito, kao i oblik, 1757 01:21:36,330 --> 01:21:38,310 a zatim stvorite različiti oblici od njega, 1758 01:21:38,310 --> 01:21:40,240 i od svake od ti oblici, te stvoriti 1759 01:21:40,240 --> 01:21:45,110 neki više specifičnih oblika u tri dimenzije ili nešto slično. 1760 01:21:45,110 --> 01:21:48,799 I oni imaju tu hijerarhiju Oni naslijediti od one druge, tako da 1761 01:21:48,799 --> 01:21:51,840 sve funkcije i sve varijable koje Veliki oblik ovdje ima, sve to 1762 01:21:51,840 --> 01:21:54,110 će imati, a sve su to će imati, i tako dalje i tako dalje. 1763 01:21:54,110 --> 01:21:55,640 Dakle, to je osnovna ideja. 1764 01:21:55,640 --> 01:21:59,170 >> C nema, ali C ++ nema tu vrstu značajku. 1765 01:21:59,170 --> 01:22:02,710 I Java pod velikim utjecajem strane objekta orijentacije, 1766 01:22:02,710 --> 01:22:05,310 pa zato što vidite Klasa ovdje cijelo vrijeme. 1767 01:22:05,310 --> 01:22:10,790 A druga stvar je to Java virtualni stroj. 1768 01:22:10,790 --> 01:22:13,790 Dakle, ovo, mislim da je jako pametna ideja. 1769 01:22:13,790 --> 01:22:17,020 Dakle, ono što su ljudi koji su izumio Java učinio je 1770 01:22:17,020 --> 01:22:19,630 oni nisu htjeli sastaviti svoj kod dvaput 1771 01:22:19,630 --> 01:22:23,990 ako su ga pokrenuti u sustavu Windows, ili Mac ili Linux, pa što im je činiti 1772 01:22:23,990 --> 01:22:26,740 je doslovno pokrenuti nešto poput aparata, 1773 01:22:26,740 --> 01:22:29,630 ali stvarno ne vidim što se događa. 1774 01:22:29,630 --> 01:22:32,430 Tako su pokrenuti virtualni stroj unutar računala, koji je 1775 01:22:32,430 --> 01:22:34,940 je u osnovi kao što je Mini operativni sustav. 1776 01:22:34,940 --> 01:22:37,920 I to operativnog Sustav je svrha u životu 1777 01:22:37,920 --> 01:22:41,430 je samo pokrenuti ono što se zove bajt koda. 1778 01:22:41,430 --> 01:22:47,411 >> Dakle, umjesto u C, na način na koji bi sastaviti to učiniti ako se, a zatim pokrenuti 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 Zaboravio sam crticu u. 1782 01:22:55,290 --> 01:23:00,240 U Java, što će učiniti prvi Java C da ga sastaviti, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 Nije C. To je točka java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 A onda morate pokrenuti ne ./. 1787 01:23:12,140 --> 01:23:15,440 Možete dobiti ovu novu datoteku if.class, ali ne može stvarno 1788 01:23:15,440 --> 01:23:17,980 pokrenuti if.class sada samo kao što smo učinili prije. 1789 01:23:17,980 --> 01:23:19,440 Ovo nije izvršna. 1790 01:23:19,440 --> 01:23:20,630 Morate pokrenuti. 1791 01:23:20,630 --> 01:23:23,410 Morate ga hraniti u Program pod nazivom Java, 1792 01:23:23,410 --> 01:23:28,260 i da program je virtualni stroj, a onda radite if.class, ili ako. 1793 01:23:28,260 --> 01:23:28,760 Da. 1794 01:23:28,760 --> 01:23:30,890 I onda se to radi. 1795 01:23:30,890 --> 01:23:33,740 U redu tako da je ovo vrsta virtualni stroj događa. 1796 01:23:33,740 --> 01:23:37,700 C ne da, pa ako bih stavi ovaj program u sustavu Windows stroj, 1797 01:23:37,700 --> 01:23:40,516 to ne bi išlo u C. U Java to radi. 1798 01:23:40,516 --> 01:23:41,015 Pitanja? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 Cool. 1801 01:23:44,030 --> 01:23:47,160 To je, ako za super odjeljak za danas. 1802 01:23:47,160 --> 01:23:49,462