1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB BOWDEN: Jedná se o pohodlnější část, 3 00:00:13,351 --> 00:00:16,309 ale to neznamená, že pokud máte pocit, že nejste pohodlnější 4 00:00:16,309 --> 00:00:18,420 budete zde nejsou učit věci. 5 00:00:18,420 --> 00:00:20,600 Tak pojďme začít. 6 00:00:20,600 --> 00:00:22,819 Máte snímky jít přímo do věci. 7 00:00:22,819 --> 00:00:24,360 Jsem asi jen vzít právě teď? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 Přepínání notebooků. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> ALLISON: Nechcete, aby představit sebe, Robe? 12 00:00:32,950 --> 00:00:34,090 >> ROB BOWDEN: Oh, já jsem Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 To je můj pátý rok TF-ing CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: Jsem Gabriel. 17 00:00:39,650 --> 00:00:41,610 Jsem vedoucí TF na CS50. 18 00:00:41,610 --> 00:00:44,009 Byl jsem TF loni a letos. 19 00:00:44,009 --> 00:00:46,675 ALLISON: A já jsem Alison, a to je můj druhý rok TF-ing CS50. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB BOWDEN: Tak jo, ta věc na levé straně, 22 00:00:50,825 --> 00:00:52,250 Doufám, že jsem to neviděl. 23 00:00:52,250 --> 00:00:54,112 Pokud tomu tak není, protože vás stáhněte si ji pro sebe, 24 00:00:54,112 --> 00:00:55,570 měli jste to vidět v přednášce. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 Tak tohle je CS50 zařízení, a to dělal něco z popisu toho 27 00:01:01,320 --> 00:01:01,880 v přednášce. 28 00:01:01,880 --> 00:01:06,890 Ale v podstatě je to jen vy používáte operační 29 00:01:06,890 --> 00:01:10,550 Systém přímo ve Vašem provozu systém, takže vám můžeme dát 30 00:01:10,550 --> 00:01:12,540 programy bez nutnosti strach, oh to je 31 00:01:12,540 --> 00:01:15,989 bude pracovat v obou systémech Windows a Mac, nebo v případě, že někteří z vás 32 00:01:15,989 --> 00:01:17,280 jsou již používáte Linux, Linux. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 Je to jen má být společné hraní 35 00:01:20,240 --> 00:01:23,010 pole, takže každý má stejný přesný prostředí. 36 00:01:23,010 --> 00:01:25,344 >> Takže pokud nemáte stáhnout to už, 37 00:01:25,344 --> 00:01:28,510 byste měli stáhnout, protože jste bude potřebovat pro problémové sady. 38 00:01:28,510 --> 00:01:32,335 A to je dvě GB ke stažení, takže může chvíli trvat. 39 00:01:32,335 --> 00:01:33,780 Na Harvardu to půjde rychle. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 Tak CS50 spotřebiče. 42 00:01:37,440 --> 00:01:41,980 >> Nyní na začátku, budeme mluvit o jen banda příkazového řádku 43 00:01:41,980 --> 00:01:46,880 věci, a to tím, že mám na mysli práci V tomto malém prostředí tady. 44 00:01:46,880 --> 00:01:53,230 A všimněte si všech věcí Říkám tady právě teď 45 00:01:53,230 --> 00:01:56,900 budou fungovat, pokud jste uvnitř terminál uvnitř spotřebiče, 46 00:01:56,900 --> 00:02:00,790 nebo pokud jste uvnitř okno terminálu gedit 47 00:02:00,790 --> 00:02:02,090 uvnitř spotřebiče. 48 00:02:02,090 --> 00:02:03,770 Takže tyto prostředí jsou identické. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> Ale já jdu třetí cestu. 51 00:02:07,270 --> 00:02:12,200 A všimněte si, tady to dole málo IP adresa tady. 52 00:02:12,200 --> 00:02:15,940 Takže nemusíte mít to udělat, ale to IP 53 00:02:15,940 --> 00:02:19,700 address-- teď, pokud Já-- kromě je to blokované této věci. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 OK, takže IP adresa více než v terminálu 56 00:02:27,000 --> 00:02:31,090 here-- takže tento terminál přes Zde je terminál v mém počítači Mac. 57 00:02:31,090 --> 00:02:34,540 Takže toto není v žádném případě v současné době spojena se spotřebičem vůbec. 58 00:02:34,540 --> 00:02:39,360 A pokud jste na Windows, pak jste bude muset stáhnout něco 59 00:02:39,360 --> 00:02:44,430 speciálně pro to, zejména lidé mají tendenci používají tmely, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> Takže to, co budu dělat, je typ SSH a pak, že IP adresa. 61 00:02:50,700 --> 00:02:54,030 No, jharvard na této IP adrese. 62 00:02:54,030 --> 00:03:00,150 Tak 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 Tato děsivá zpráva, ignorujte ji. 64 00:03:02,127 --> 00:03:02,710 Stačí zadat ano. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 To je CS50 v krabici. 67 00:03:06,030 --> 00:03:07,460 Se zeptá na heslo. 68 00:03:07,460 --> 00:03:11,910 >> A tak v mnoha z těchto kontextech kde se zeptá na heslo [neslyšitelné]. 69 00:03:11,910 --> 00:03:15,670 Máme spoustu otázek, kde říká, že to není vlastně psát. 70 00:03:15,670 --> 00:03:20,011 Není vám ukázat znaky heslo při psaní, pokud vůbec něco, 71 00:03:20,011 --> 00:03:23,010 pro funkci zabezpečení, protože pokud někdo se dívá přes rameno 72 00:03:23,010 --> 00:03:25,870 a vidí star star star star, pak se 73 00:03:25,870 --> 00:03:28,640 víte, že vaše heslo je čtyři znaky. 74 00:03:28,640 --> 00:03:32,660 Takže myšlenka je, že se bude ptát od vás vaše heslo, typ. 75 00:03:32,660 --> 00:03:34,490 Nebude to ukázat budete znaky, 76 00:03:34,490 --> 00:03:36,090 ale to je vlastně přijetí. 77 00:03:36,090 --> 00:03:39,210 V tomto případě, kdykoliv vám někdy viděl výzvy k zadání hesla 78 00:03:39,210 --> 00:03:42,280 zabývající se spotřebičem, Heslo bude rudý. 79 00:03:42,280 --> 00:03:43,270 Tak karmínově. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> A teď tady uvnitř této okno, které je v mém počítači Mac, 82 00:03:50,550 --> 00:03:54,120 Já jsem v podstatě s přesně stejný pohled 83 00:03:54,120 --> 00:03:57,040 jako uvnitř terminálu ve spotřebiči. 84 00:03:57,040 --> 00:03:58,470 Takže nemusíte to udělat. 85 00:03:58,470 --> 00:04:01,300 Můžete to udělat vše, co Chcete-uvnitř spotřebiče. 86 00:04:01,300 --> 00:04:05,140 Málem jsem vlastně nikdy dělat něco v přístroji. 87 00:04:05,140 --> 00:04:09,440 I téměř vždy minimalizovat, že teď Pracuji SSH do přístroje. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> Kdyby nic jiného, ​​pokud máte máte pomalejší počítač, 90 00:04:14,180 --> 00:04:15,820 můžete zaznamenat rozdíl. 91 00:04:15,820 --> 00:04:18,839 Dělám to proto, že jsem raději toto okno terminálu. 92 00:04:18,839 --> 00:04:20,881 To má některé funkce, jako je I lze rozdělit okno, 93 00:04:20,881 --> 00:04:22,672 a teď můžu SSH přes spotřebiče. 94 00:04:22,672 --> 00:04:24,105 Dostal jsem dva SSH se děje najednou. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 Pokud je váš počítač je obzvláště pomalu a pracujete v zařízení, 97 00:04:32,250 --> 00:04:35,200 a uvědomíte si to Opravdu laggy, cokoliv. 98 00:04:35,200 --> 00:04:38,220 Má tendenci být mnohem rychlejší pokud jste SSH-ed v. 99 00:04:38,220 --> 00:04:40,960 Ale jinak můžete pracovat v obou směrech. 100 00:04:40,960 --> 00:04:42,388 >> Diváků: Co SSH znamená? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB BOWDEN: Secure skořápky, něco takového? 103 00:04:47,479 --> 00:04:48,270 Co SSH znamená? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL: Secure shell. 106 00:04:55,130 --> 00:04:56,463 ALLISON: Je to jen Secure Shell. 107 00:04:56,463 --> 00:04:57,720 ROB BOWDEN: Secure shell. 108 00:04:57,720 --> 00:05:03,700 Je to protokol, který you-- je to zabezpečený protokol, takže šifrované. 109 00:05:03,700 --> 00:05:06,850 Lidé nemohou odposlouchávat síť a co říkáš na cokoliv 110 00:05:06,850 --> 00:05:08,120 jste SSH-ed na. 111 00:05:08,120 --> 00:05:12,900 A ve skutečnosti, v dávný dny CS50, takže v roce 2009 112 00:05:12,900 --> 00:05:19,300 když jsem byl v prváku, tak, že jste pracovali na CS50 problémové soupravy, 113 00:05:19,300 --> 00:05:22,490 Byl jste SSH-ed na nějaké serveru že jsme dali přístup k, 114 00:05:22,490 --> 00:05:23,497 a pracoval tam. 115 00:05:23,497 --> 00:05:25,330 Takže jste neměl tento grafické zařízení. 116 00:05:25,330 --> 00:05:26,160 Nemusel jsi gedit. 117 00:05:26,160 --> 00:05:28,930 Nemusel jste všechny tyto věci, které můžete vizuálně bod a klepněte na tlačítko. 118 00:05:28,930 --> 00:05:30,346 Vy jste měli pracovat v tomto rozhraní. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 Dávám přednost práci v tomto rozhraní. 121 00:05:33,716 --> 00:05:36,090 Takže část toho, co budeme se bude v průběhu právě teď 122 00:05:36,090 --> 00:05:39,560 jsou banda Příkazy, které byste měli 123 00:05:39,560 --> 00:05:42,095 začne se seznámit s co pochodu v průběhu. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 A upřímně řečeno, jakmile se zvyknout si na ně, je to 126 00:05:45,790 --> 00:05:48,220 je tak mnohem rychlejší práce v tomto prostředí 127 00:05:48,220 --> 00:05:53,690 než to je pracovat s nálezce, tažením a kliknutím věci. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> Tak jsme tady. 130 00:05:57,210 --> 00:06:01,779 Teď už jen SSH-ed in, a tak Výchozí vás location-- 131 00:06:01,779 --> 00:06:04,820 viděl některé z těchto příkazů ve třídě, ale půjdeme přes všechny z nich znovu. 132 00:06:04,820 --> 00:06:08,060 Výchozí umístění jsme v je domovský adresář. 133 00:06:08,060 --> 00:06:11,520 A adresář, stejně jiný výraz pro složku. 134 00:06:11,520 --> 00:06:13,310 Takže jsme v domovském adresáři. 135 00:06:13,310 --> 00:06:15,889 Typ LS, seznam souborů v tomto adresáři. 136 00:06:15,889 --> 00:06:17,430 Zřejmě jsem vytvořil blah.c dříve. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 Takže máme adresář na ploše. 139 00:06:20,472 --> 00:06:21,930 Všimněte si zvýrazňování syntaxe? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 Světle modrá zvýraznění indikuje adresář a rovný bílý 142 00:06:32,900 --> 00:06:34,380 označuje jen obyčejný soubor. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 Takže tam se bude některé další barvy, které vidíte. 145 00:06:37,690 --> 00:06:41,240 Spustitelný soubor je pravděpodobně bude být zelené nebo něco takového. 146 00:06:41,240 --> 00:06:44,820 OK, takže jsme v domovském adresáři. 147 00:06:44,820 --> 00:06:48,970 >> Teď, když chci jít do jiné adresář, cd je příkaz chci. 148 00:06:48,970 --> 00:06:52,720 Takže změnit adresář, a pak předat název adresáře 149 00:06:52,720 --> 00:06:54,020 že chcete jít do. 150 00:06:54,020 --> 00:06:55,780 Takže tady máme čtyři možnosti. 151 00:06:55,780 --> 00:07:03,397 Můžu jít na stahování, a teď vidíme, tady to je aktualizována to vsuvka 152 00:07:03,397 --> 00:07:04,480 říct, že jsem v ~ / ke stažení. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> Takže to, co je tilda? 155 00:07:06,800 --> 00:07:10,640 Je to zkratka pro domovský adresář. 156 00:07:10,640 --> 00:07:15,260 Takže téměř vše, co udělat, je jít na být s ohledem na vašem domovském adresáři, 157 00:07:15,260 --> 00:07:20,620 a pwd je jen příkaz Já používám jednou za rok, že 158 00:07:20,620 --> 00:07:22,420 jen vypíše aktuální adresář. 159 00:07:22,420 --> 00:07:25,730 A tak zde vidíte, že ~ / Stahování opravdu řeší 160 00:07:25,730 --> 00:07:26,896 do / home / jharvard / ke stažení. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 Tak / home / jharvard je můj domovský adresář. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Takže můžeme cd dot dot. 165 00:07:39,400 --> 00:07:47,800 Nyní dot dot je speciální adresář, který vždy odkazuje na úroveň výš. 166 00:07:47,800 --> 00:07:51,730 Takže když jsem v ~ / stahování, pak cd tečkou tečka se chystá, aby mě na vlnovku. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 Co si myslíme, cd dot dot bude, aby mě teď? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 Je mi to přinese do / home. 171 00:08:00,570 --> 00:08:04,450 Takže Tilda tiskem pracovního adresáře, Jsem teď / home / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 o úroveň výš z toho, Nyní říká, že zde / home. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> Nyní cd dot dot. 176 00:08:17,180 --> 00:08:20,910 Teď jsem v kořenovém adresáři, a můžete to udělat znovu. 177 00:08:20,910 --> 00:08:23,340 Budete prostě zůstat v kořenový adresář navždy. 178 00:08:23,340 --> 00:08:26,700 Kořenový adresář má spoustu věci, které, pokud se chcete podívat na, 179 00:08:26,700 --> 00:08:27,410 můžete. 180 00:08:27,410 --> 00:08:29,700 Například, když jsem jít do koše, který obsahuje 181 00:08:29,700 --> 00:08:35,789 všechny tyto binární soubory, jako například ls, a CD, a všechny ty věci. 182 00:08:35,789 --> 00:08:38,630 Takže tyto příkazy potřebují existuje někde v systému, 183 00:08:38,630 --> 00:08:40,820 a to je v adresáři / bin. 184 00:08:40,820 --> 00:08:44,530 Ale téměř vše, co děláte, je bude z vašeho domovského adresáře. 185 00:08:44,530 --> 00:08:49,490 A cd bez jakýchkoliv argumentů, by se dalo říci cd ~, nemusíte. 186 00:08:49,490 --> 00:08:51,810 cd se chystá, aby vás zpět do svého domovského adresáře. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> Jedna poslední. 189 00:08:54,230 --> 00:09:00,200 cd - bude vás vrátí zpět do poslední adresář, který jste v. 190 00:09:00,200 --> 00:09:04,080 Tak jsem cd'd dvakrát za sebou, tak my poslední adresář byl domovský adresář. 191 00:09:04,080 --> 00:09:11,520 Pokud jdu na lomítko bin, a teď pojďme nahoru a do uživatele. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 Uživatel podíl. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 Pojďme do uživatelského akcii. 196 00:09:15,940 --> 00:09:17,140 Teď jsem teď v uživatelském akcii. 197 00:09:17,140 --> 00:09:19,320 CD -, zpět do zásobníku. 198 00:09:19,320 --> 00:09:22,980 Takže se to dostane obzvláště užitečné když have-- a to bude přepínat. 199 00:09:22,980 --> 00:09:25,660 Takže uživatelského podílu, zadní přihrádky, podíl bin. 200 00:09:25,660 --> 00:09:27,250 >> Tak tohle dostane užitečné. 201 00:09:27,250 --> 00:09:33,150 Můžete najít sami s mnoha, mnoho, mnoho vnořené adresáře. 202 00:09:33,150 --> 00:09:37,370 A chcete něco udělat opravdu rychle v horní adresáře. 203 00:09:37,370 --> 00:09:40,330 Jdete do tohoto adresáře, zkontrolujte, změny a věci jako to, 204 00:09:40,330 --> 00:09:42,400 a teď chceš jít zpět na místo, kde jste byli. 205 00:09:42,400 --> 00:09:43,660 cd -. 206 00:09:43,660 --> 00:09:47,320 Já jsem vždycky zklamaný když jsem se náhodou jít 207 00:09:47,320 --> 00:09:49,630 do tohoto adresáře I chtěl dělat práci. 208 00:09:49,630 --> 00:09:52,670 Vždycky jsem si frustrovaný, když jsem to udělal to ve dvou krocích místo jednoho kroku, 209 00:09:52,670 --> 00:09:55,715 protože to znamená, že CD - se děje aby do této přechodné umístění 210 00:09:55,715 --> 00:09:57,010 Místo, kde chci jít. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> Vidíme tedy všechny soubory v seznamu. 213 00:10:01,450 --> 00:10:03,300 Víme, jak se dostat kolem tak daleko. 214 00:10:03,300 --> 00:10:09,900 Takže teď pojďme mluvit o editaci souborů. 215 00:10:09,900 --> 00:10:18,790 Takže v tomto kurzu, jste skoro vždy očekává, že budou gedit. 216 00:10:18,790 --> 00:10:24,410 Pokud chcete, můžete si vzít další krok a začněte se učit text příkazového řádku 217 00:10:24,410 --> 00:10:25,240 editor. 218 00:10:25,240 --> 00:10:27,560 Takže existují různé možnosti. 219 00:10:27,560 --> 00:10:31,760 >> A ty, které jsou pravděpodobně Bude pro vás relevantní, 220 00:10:31,760 --> 00:10:35,340 máme Nano, Vim, Emacs a. 221 00:10:35,340 --> 00:10:40,196 Takže Nano je pro začátečníky příkazového řádku textový editor. 222 00:10:40,196 --> 00:10:42,985 Takže Nano pojďme na blah.c jsem vytvořil dříve. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 Je to právě tato norma C soubor. 225 00:10:46,480 --> 00:10:51,540 A vidíte, spoustu věcí děje ve spodní části obrazovky, 226 00:10:51,540 --> 00:10:54,100 a zřejmě blah.c obsahuje tento kód C. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> Takže v tomto konkrétním editoru, to, co říká na bottom-- 229 00:11:00,330 --> 00:11:06,290 Nyní tento symbol stříška, Vidíme to ^ G, ^ x, ^ O. 230 00:11:06,290 --> 00:11:10,310 Tak, že téměř ve všech kontext, který vidíte, 231 00:11:10,310 --> 00:11:13,530 můžete vidět, že symbol stříšky v další místa on-line, na přetečení zásobníku, 232 00:11:13,530 --> 00:11:14,450 něco takového. 233 00:11:14,450 --> 00:11:16,970 Je téměř vždy se odkazuje na kontrolu. 234 00:11:16,970 --> 00:11:21,590 Takže ukončit chci dělat Control X. Control X, ukončí. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 A mohu používat svůj šíp klávesy pro pohyb v okolí. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 Všimněte si nemohu bod a klepněte na tlačítko rychle. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 Musíte použít šipky klávesy pro pohyb v okolí. 241 00:11:35,010 --> 00:11:36,950 Tam by mohlo být nastavení bod a klepněte na tlačítko. 242 00:11:36,950 --> 00:11:40,000 >> Ale pojďme udělat nějaké změny. 243 00:11:40,000 --> 00:11:42,100 Nyní Control X jít exit. 244 00:11:42,100 --> 00:11:44,120 Bude to říkat změněný buffer. 245 00:11:44,120 --> 00:11:47,900 Nyní je výzva, y pro ano, n pro ne. 246 00:11:47,900 --> 00:11:49,900 Control C pro zrušení. 247 00:11:49,900 --> 00:11:50,780 Budu jen říct, že ano. 248 00:11:50,780 --> 00:11:51,709 Jméno zapsat soubor. 249 00:11:51,709 --> 00:11:53,500 Výchozí nastavení je soubor že už je. 250 00:11:53,500 --> 00:11:54,230 Stiskněte klávesu Enter. 251 00:11:54,230 --> 00:11:54,740 OK. 252 00:11:54,740 --> 00:11:58,580 Teď jsem jen upravil tento soubor, chytá, a to se změní. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> Takže Nano je nejjednodušší textový editor zvyknout. 255 00:12:03,000 --> 00:12:05,520 Alternativy jsou Vim a Emacs. 256 00:12:05,520 --> 00:12:11,250 Ti, kteří jsou textové editory vyšší úrovně které mají velmi strmé křivky učení. 257 00:12:11,250 --> 00:12:13,740 Takže moje osobní preference je Vim. 258 00:12:13,740 --> 00:12:17,175 A má širokou škálu možností. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 A jakmile si zvyknete na to, už nikdy nebudete 261 00:12:24,070 --> 00:12:26,900 jít do jakékoliv jiné textový editor, protože jste právě 262 00:12:26,900 --> 00:12:29,590 tolik věcí pro vás k dispozici v těchto, 263 00:12:29,590 --> 00:12:31,690 ale to se opravdu dlouho se učit. 264 00:12:31,690 --> 00:12:36,000 Takže možná si jen chcete vynutit si teď zvyknout na to, 265 00:12:36,000 --> 00:12:38,130 ale řekl bych, že to stojí za to. 266 00:12:38,130 --> 00:12:39,660 Ale je to těžké. 267 00:12:39,660 --> 00:12:41,220 >> A pak Emacs. 268 00:12:41,220 --> 00:12:44,940 Vždycky jsem bojovat v Emacsu, protože Já vím, jak to udělat vůbec nic. 269 00:12:44,940 --> 00:12:47,755 Zřejmě Emacs není ve výchozím nastavení nainstalován na zařízení. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 Budeme asi dodat, že jako výchozí zařízení. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 Jakmile se naučíte jeden z Vim nebo Emacs, je tu 274 00:13:02,390 --> 00:13:04,810 žádný přesvědčivý důvod někdy učit druhé, 275 00:13:04,810 --> 00:13:07,570 ale je to úplně jiný styl. 276 00:13:07,570 --> 00:13:10,460 OK, takže to editaci textových souborů. 277 00:13:10,460 --> 00:13:13,374 >> Diváků: Pokud jste se zasekl ve Vim právě teď, jak to we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB BOWDEN: Existuje více režimů v Vim, 280 00:13:20,800 --> 00:13:23,770 a tam jsou celá návody na učení Vim. 281 00:13:23,770 --> 00:13:27,390 Takže pokud jste náhodou v režimu vkládání, aby 282 00:13:27,390 --> 00:13:29,930 k zadání textu, které si můžete zadání, které různými způsoby, 283 00:13:29,930 --> 00:13:31,610 ale i je, jak se dostat do režimu vkládání. 284 00:13:31,610 --> 00:13:34,780 Nebo dostat se z jakékoliv zvláštní režim, který jste v, jen útěk. 285 00:13:34,780 --> 00:13:37,640 A právě bash Escape dostat z případných vnořených režimů vaše v. 286 00:13:37,640 --> 00:13:40,360 Jen OK, teď jsem zpátky v normálním režimu. 287 00:13:40,360 --> 00:13:43,790 >> A tak v normálním režimu, tlustého střeva. 288 00:13:43,790 --> 00:13:45,160 Můžete vidět, že se objeví v dolní části. 289 00:13:45,160 --> 00:13:46,240 A pak q. 290 00:13:46,240 --> 00:13:52,600 Takže q ukončí, pokud jste provedli změny, které Já-- jsem provedl změny? 291 00:13:52,600 --> 00:13:54,180 Udělal jsem změny zřejmě. 292 00:13:54,180 --> 00:13:57,264 Takže pokud jste provedli změny, bude to říci si můžete dát vykřičník. 293 00:13:57,264 --> 00:13:58,430 Budu to nazývat rána. 294 00:13:58,430 --> 00:14:02,040 Takže si můžete dát zákaz jen opustit, aniž by dělali něco, 295 00:14:02,040 --> 00:14:04,520 nebo tlustého střeva WQ ušetří a ukončete. 296 00:14:04,520 --> 00:14:06,580 Tak w obecně je napsat. 297 00:14:06,580 --> 00:14:08,300 Takže zapsat soubor. 298 00:14:08,300 --> 00:14:09,810 Umím psát a ukončete. 299 00:14:09,810 --> 00:14:13,606 Nebo můžete mít jen QX slam, q bang jen 300 00:14:13,606 --> 00:14:16,230 dostat ven bez ohledu na o všech změnách, které jste provedli. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> Dobře, tak teď pojďme go-- můžeme vytvářet soubory. 303 00:14:28,940 --> 00:14:30,890 Začněme mazání souborů. 304 00:14:30,890 --> 00:14:35,450 A já si jen hodit do jednoho rychlé nový příkaz, klepněte na. 305 00:14:35,450 --> 00:14:38,200 Takže dotknout foo. 306 00:14:38,200 --> 00:14:39,340 Dotykový bar. 307 00:14:39,340 --> 00:14:40,220 Dotkněte se baz. 308 00:14:40,220 --> 00:14:42,810 Pokud ls I nyní vidíme, že tyto soubory existují. 309 00:14:42,810 --> 00:14:44,315 Jsou to úplně prázdná. 310 00:14:44,315 --> 00:14:47,178 Takže touch je jen jednoduchý způsob, jak jeden, [neslyšitelné]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 Dva, technicky jen stát to, že aktualizuje časová razítka. 313 00:14:54,640 --> 00:14:58,470 Takže každý soubor, který vytvoříte má časové razítko s ním spojené. 314 00:14:58,470 --> 00:15:01,330 Takže Baz byl vytvořen na 14 září v 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 Nyní je 16:22, takže pokud Znovu jsem se dotknout baz jsme 317 00:15:06,670 --> 00:15:11,420 vidět, že Baz byl nejvíce nedávno změněna na 16:22. 318 00:15:11,420 --> 00:15:17,680 Ale jinak jsem skoro nikdy podívejte se na časová razítka na soubory. 319 00:15:17,680 --> 00:15:20,490 Tak kontaktu, tady jsem jen pomocí to vytvořit několik rychlých soubory. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> Dobře, tak teď rm je příkaz, který nám záleží zde. 322 00:15:27,400 --> 00:15:28,665 A můžeme rm vypískat. 323 00:15:28,665 --> 00:15:31,000 Řekněme, že odstranění pravidelné prázdný soubor vypískat. 324 00:15:31,000 --> 00:15:34,070 A můžeme psát y, a teď je to Odstraní. 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 Odstranit pravidelné prázdný soubor Baz a typ n pro ne. 328 00:15:38,620 --> 00:15:40,060 Teď to není odstraněn. 329 00:15:40,060 --> 00:15:41,240 Tak bar a baz stále existují. 330 00:15:41,240 --> 00:15:42,232 Foo je pryč. 331 00:15:42,232 --> 00:15:43,148 GABRIEL: Mluv. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB BOWDEN: Skvělé. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 Tak nepříjemné zprávy tady, odstraňte pravidelné empty-- 336 00:15:50,370 --> 00:15:52,390 Co to děláš tam dole? 337 00:15:52,390 --> 00:15:54,030 Odstranit pravidelné prázdný soubor. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 Takže pokud nechceme být Vadí této zprávě, 340 00:16:01,610 --> 00:16:05,340 můžeme hodit v tomto -f vlajka, a tak to je síla. 341 00:16:05,340 --> 00:16:11,330 A teď když jsem rm -f, že to nebude říci si, že chcete odstranit tento soubor. 342 00:16:11,330 --> 00:16:12,040 Bude to prostě udělat. 343 00:16:12,040 --> 00:16:13,720 A ls, nevidím bar tam už. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> Nyní, když je potenciálně nebezpečný příkaz. 346 00:16:18,021 --> 00:16:19,020 To nebývá příliš špatné. 347 00:16:19,020 --> 00:16:22,240 Vrátíme se do druhé, jak to může dostat opravdu nebezpečné. 348 00:16:22,240 --> 00:16:28,740 A pojďme vytvořit nějaký dočasný adresář. 349 00:16:28,740 --> 00:16:30,880 mkdir, jiný příkaz. 350 00:16:30,880 --> 00:16:34,880 Takže mkdir je příkaz že je adresář. 351 00:16:34,880 --> 00:16:40,650 A teď ls vidíme tento pěkný světlo modře zvýrazněné dočasný adresář. 352 00:16:40,650 --> 00:16:42,295 Mohu CD do temp. 353 00:16:42,295 --> 00:16:44,590 A můžu mkdir foo. 354 00:16:44,590 --> 00:16:46,330 cd do foo. mkdir bar. 355 00:16:46,330 --> 00:16:46,860 cd do baru. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> Vidíme tedy, můžeme snadno dostat do pěkně hluboké vnoření. 358 00:16:54,300 --> 00:16:56,385 Nyní, jak mám odstranit adresář? 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 Takže když jsem se rovnou zkusit rm, jako jsme to udělali s pravidelným souboru 363 00:17:03,540 --> 00:17:06,420 rm bar se chystá říci nelze odstranit bar. 364 00:17:06,420 --> 00:17:07,569 Jedná se o adresář. 365 00:17:07,569 --> 00:17:10,619 Je tu speciální příkaz pro odstranění adresáře, druh. 366 00:17:10,619 --> 00:17:12,900 Tak rmdir bar. 367 00:17:12,900 --> 00:17:13,710 Nyní bar je pryč. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> OK, takže rmdir jsem skoro nikdy použít. 370 00:17:22,680 --> 00:17:32,220 Důvodem being-- Nyní se pojďme vytvořit obyčejný soubor bar zde. 371 00:17:32,220 --> 00:17:34,780 Tak rmdir boo. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 Nepodařilo se odstranit foo. 374 00:17:36,900 --> 00:17:38,420 Adresář není prázdný. 375 00:17:38,420 --> 00:17:43,420 Takže nemůžete použít odstranit dir na Adresář, který má věci v něm. 376 00:17:43,420 --> 00:17:44,830 >> Takže máte několik možností. 377 00:17:44,830 --> 00:17:49,780 Můžete jít do tohoto adresáře, odstranit vše ručně a potom vyjdou 378 00:17:49,780 --> 00:17:51,759 a rmdir adresář. 379 00:17:51,759 --> 00:17:53,050 To samozřejmě zní nepříjemné. 380 00:17:53,050 --> 00:17:55,000 Co když jsou tisíce souborů v tam? 381 00:17:55,000 --> 00:17:58,119 No, mohl bys rm *. 382 00:17:58,119 --> 00:17:59,410 Promluvíme si o * v druhém. 383 00:17:59,410 --> 00:18:00,870 To v podstatě znamená, všechny ty věci. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 Ale ještě lepší, tak rm -r. 386 00:18:05,470 --> 00:18:10,220 Takže rm -r-- v mnoha kontexty, -r znamená rekurzivní, 387 00:18:10,220 --> 00:18:13,810 které budeme mluvit o tom, co rekurzivní prostředky v několika týdnů. 388 00:18:13,810 --> 00:18:18,630 Ale je to v podstatě znamená posuv celistvost tohoto adresáře 389 00:18:18,630 --> 00:18:20,190 a odstranit všechno. 390 00:18:20,190 --> 00:18:24,420 >> Takže rm -r foo bude říkat sestoupit do adresáře foo? 391 00:18:24,420 --> 00:18:25,210 Ano. 392 00:18:25,210 --> 00:18:26,800 Odstranit pravidelné prázdný soubor foo / bar? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 Ano. 395 00:18:28,540 --> 00:18:29,760 Odstraňte adresář foo? 396 00:18:29,760 --> 00:18:30,260 Ano. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 Takže teď foo a všechno v ní byla odstraněna. 399 00:18:35,020 --> 00:18:42,370 >> Nyní, když můžete získat obzvláště nepříjemné when-- pojďme dotknout 1, stiskněte tlačítko 2, stiskněte 3. 400 00:18:42,370 --> 00:18:44,400 Může mít spoustu souborů. 401 00:18:44,400 --> 00:18:49,060 Kdybych chtěl, mohl bych vytvořit tisíce souborů zde. 402 00:18:49,060 --> 00:18:53,340 A rm -r foo se děje být dost nepříjemné. 403 00:18:53,340 --> 00:18:55,374 Ano, ano, ano, ano, ano, ano. 404 00:18:55,374 --> 00:18:57,540 S mnohem více souborů, které rychle zjistit, kolikrát 405 00:18:57,540 --> 00:18:58,581 Budu muset psát ano. 406 00:18:58,581 --> 00:19:02,265 No, právě jsme viděli dříve, jak můžeme zbavit nutnosti psát ano, -f. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 Takže mkdir foo foo cd touch 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 OK, tak rm -rf foo bude slepě odstranit úplně foo. 411 00:19:17,190 --> 00:19:17,960 Žádná výzva. 412 00:19:17,960 --> 00:19:18,650 No nic. 413 00:19:18,650 --> 00:19:20,040 Foo je pryč. 414 00:19:20,040 --> 00:19:23,830 >> Tak mám tendenci použít Příkaz po celou dobu. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 To znamená, že, že je velmi nebezpečný příkaz, 417 00:19:27,830 --> 00:19:33,240 protože kdybych něco takového to, nebude to výzva. 418 00:19:33,240 --> 00:19:34,730 Bude pryč. 419 00:19:34,730 --> 00:19:40,140 A to se stává dost často, a dokonce i na vyšší úrovni kurzů UO. 420 00:19:40,140 --> 00:19:42,070 Někdy se uvidíme něco, kde někdo 421 00:19:42,070 --> 00:19:48,360 říká, že jsem omylem naše rm rf-ed můj domov adresář a všechny mé P soupravy je pryč. 422 00:19:48,360 --> 00:19:52,422 A je to zničující, ale není odpadkový koš. 423 00:19:52,422 --> 00:19:54,380 Neexistuje nic pro vás získat. 424 00:19:54,380 --> 00:19:55,330 Je to prostě pryč. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 Ještě horší by bylo něco jako rm -rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 Tak jsme jen diskutovali že kořenový adresář. 429 00:20:01,140 --> 00:20:03,095 To si myslí všichni soubory na vašem systému. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 Věci mají tendenci být dost chaotický při odebrání věci jako ls, 432 00:20:07,380 --> 00:20:10,280 a CD, a všechny z nich. 433 00:20:10,280 --> 00:20:15,467 >> Diváků: Jaký je rozdíl mezi RM, rf, a rm * 434 00:20:15,467 --> 00:20:16,300 ROB BOWDEN: Takže rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> ALLISON: Otázka je to, co je Rozdíl mezi RM, rf a rm *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB BOWDEN: Tak rm *. 439 00:20:25,950 --> 00:20:31,910 Hvězda obecně znamená, že všechny Obsah tohoto adresáře. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 Snažím se myslet na druhé způsoby ukazuje hvězdu. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 No, hrát vlastně obecně znamená, odpovídají jakémukoliv vzoru. 444 00:20:44,780 --> 00:20:54,930 Takže pokud mám soubor s názvem dog1, dotknout dog2, stiskněte CAT1, dotkněte se kategorie 2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 Takže ls * 1 bude tisknout CAT1 a dog1, protože to hvězda může být vyplněna 447 00:21:02,110 --> 00:21:06,270 v with-- je třeba, aby se tam, ale hvězda může být buď kočka nebo pes. 448 00:21:06,270 --> 00:21:07,247 Je to divoká karta. 449 00:21:07,247 --> 00:21:08,580 To je slovo, Sháním. 450 00:21:08,580 --> 00:21:09,120 Divoká karta. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 Nebo bych mohl ls pes *, a Já mám vidět dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 Takže ty se seznam souborů které odpovídají konkrétní vzor. 454 00:21:16,870 --> 00:21:18,150 Můžete použít ls tímto způsobem. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * hvězda utkání nic. 457 00:21:22,020 --> 00:21:25,710 Takže to bude tisknout všechny Obsah tohoto adresáře 458 00:21:25,710 --> 00:21:27,290 protože všechny jejich přiřazení. 459 00:21:27,290 --> 00:21:30,130 To nebude tisknout cokoli v horní úrovni adresářů. 460 00:21:30,130 --> 00:21:38,680 Mám-li podadresář, foo a dotknout 1 2 3-- tak teď, pokud rm * hvězdičkou, 461 00:21:38,680 --> 00:21:41,450 odstranit CAT1, kategorie 2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 Nelze odstranit foo. 463 00:21:42,340 --> 00:21:43,090 Jedná se o adresář. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> Tak hvězda expanduje na všechny souborů v adresáři. 466 00:21:50,340 --> 00:21:55,210 Takže technicky rm * je jako tvrdit, že rm CAT1, cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 Vzhledem k tomu, rm -rf, technicky hvězda by dosáhnout toho, co chceme, ale rm -rf-- 468 00:22:03,630 --> 00:22:06,090 když půjdu z toho adresář, rm -rf temp, 469 00:22:06,090 --> 00:22:08,890 že půjde do temp a rekurzivně odstranit všechno. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> Takže hvězda je oddělené v tom, že Je zřejmé, by-- tak tuto věc 472 00:22:21,060 --> 00:22:25,090 že běžím na to, co která je výzvou pro mě příkazy 473 00:22:25,090 --> 00:22:28,770 a pak se provádění a dělá je, říkám to můj shell. 474 00:22:28,770 --> 00:22:31,930 A tak to shell je sám program. 475 00:22:31,930 --> 00:22:35,010 A kdybych chtěl, jsem mohl běžet v / bin / bash. 476 00:22:35,010 --> 00:22:36,930 Shell se nazývá bash. 477 00:22:36,930 --> 00:22:39,340 A teď jsme si všimli něčeho mírně změnil, 478 00:22:39,340 --> 00:22:42,200 a to proto, že moje nastavení shell jsou poněkud odlišné. 479 00:22:42,200 --> 00:22:45,415 >> Ale teď jsem technicky běh shell v mém původním obalu, 480 00:22:45,415 --> 00:22:49,570 a mohu opustit tento shell, a teď Vrátil jsem se k mému nejvyšší úrovni shellu. 481 00:22:49,570 --> 00:22:55,240 Účelem říká že je-- hvězdu. 482 00:22:55,240 --> 00:22:59,020 Takže hvězda je něco, rozumí bash. 483 00:22:59,020 --> 00:23:04,260 Takže rm -rf, -rf vlajka je rozumí jen rm. 484 00:23:04,260 --> 00:23:06,380 Ví, že když vás projít -rf, které vás 485 00:23:06,380 --> 00:23:09,520 chci, aby to rekurzivně odstranit všechny soubory bez výzvy k potvrzení. 486 00:23:09,520 --> 00:23:13,960 Hvězda je něco pochopil, o bash, že když říkáte rm *, 487 00:23:13,960 --> 00:23:16,890 bash nebude říkat hey rm *, odstraňte hvězdičku. 488 00:23:16,890 --> 00:23:21,010 Bash se řekne rm * odstranit CAT1, kategorie 2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 Je to automaticky bude rozšiřovat všechny soubory v adresáři. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> A podobně tilda další symbol, který bash rozumí. 492 00:23:33,140 --> 00:23:37,130 Když se řekne cd ~ bash rozšiřuje že do vašeho domovského adresáře. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 Další otázky tak daleko? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 OK, takže budeme začít chodit rychle. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Dokončení Tab. 499 00:23:48,545 --> 00:23:49,670 Stačí hodit to tam. 500 00:23:49,670 --> 00:23:51,530 Mnoho lidí ne realizovat tento existuje. 501 00:23:51,530 --> 00:23:55,060 Takže když jsem typ cd Dow, I chci jít do sekce downloads. 502 00:23:55,060 --> 00:23:56,700 Nepotřebuji psát nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 Mohu jen hit Tab. 505 00:24:00,770 --> 00:24:03,794 Tak uznává, že dow je předpona, která 506 00:24:03,794 --> 00:24:05,710 neodpovídá nic jinde v tomto adresáři, 507 00:24:05,710 --> 00:24:07,520 tak to bude kompletní, že pro vás. 508 00:24:07,520 --> 00:24:08,610 Nyní mohu vstoupit. 509 00:24:08,610 --> 00:24:10,110 >> Také jsem dělat, že rekurzivně. 510 00:24:10,110 --> 00:24:11,205 Tak mkdir foo. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Pojďme do foo. 513 00:24:13,300 --> 00:24:14,830 mkdir bar. 514 00:24:14,830 --> 00:24:17,345 Takže jít zpátky do mého domu adresáře, vidím soubory ke stažení. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 Nyní kartu znovu bít, automaticky chystá vyplnit foo. 517 00:24:21,860 --> 00:24:22,880 Je to jediný adresář. 518 00:24:22,880 --> 00:24:25,340 Kartu znovu bít, automaticky chystá vyplnit baru. 519 00:24:25,340 --> 00:24:26,798 Takže teď jsem v (~ ke stažení / foo / bar). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> Tak tohle doplňování pomocí klávesy TAB, když jsem se dostal do pracovní doby, 522 00:24:31,692 --> 00:24:33,400 a já jsem stál nad něčí rameno, 523 00:24:33,400 --> 00:24:40,470 a jdou rm D-O-W-N-L-O-D-S, umírám. 524 00:24:40,470 --> 00:24:41,990 Jen kartu, kartu, kartu, kartu. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 Kartu tak určitě použít. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 A podobně a dolů, hodně lidí 529 00:24:49,840 --> 00:24:51,930 právě to se stalo nikdy hit nahoru a dolů. 530 00:24:51,930 --> 00:24:54,870 Bude to projít předchozí příkazy, takže pokud jste právě spustili něco, 531 00:24:54,870 --> 00:24:58,300 a chcete jej spustit znovu, jen držet, až se dostanete k ní. 532 00:24:58,300 --> 00:24:59,870 533 00:24:59,870 --> 00:25:00,370 OK. 534 00:25:00,370 --> 00:25:01,460 535 00:25:01,460 --> 00:25:03,585 >> Tak rychle, některé další věci. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 Pojďme zpět do temp. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 Pojďme vytvořit některé soubory. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 Takže tady, já jsem jen jít na seznam pár slov. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 pes, kočka, mňau. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 Pojďme dělat psa, ryby. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 Takže teď rep je velmi užitečné příkazy, které jste 548 00:25:32,320 --> 00:25:37,820 slouží k vyhledávání v celém soubory pro konkrétní znění, 549 00:25:37,820 --> 00:25:40,910 a technicky můžete udělat opravdu komplexní výrazy pro to, aby odpovídala. 550 00:25:40,910 --> 00:25:44,830 >> Tak tady, když jsem grep, a to, co chci vyhledat? 551 00:25:44,830 --> 00:25:49,130 Řekněme, že jsem hledal kočky, a Chci vyhledávat všechny tyto soubory. 552 00:25:49,130 --> 00:25:50,650 Tak jak to mám udělat všechny tyto soubory? 553 00:25:50,650 --> 00:25:51,900 Hvězda. 554 00:25:51,900 --> 00:25:54,939 Takže jeden soubor, mám kočku. 555 00:25:54,939 --> 00:25:56,980 Asi jsem mohl mít volal to něco lepšího, 556 00:25:56,980 --> 00:25:59,063 protože to vypadá jako čísla řádků nebo něco. 557 00:25:59,063 --> 00:26:01,590 Ale v jednom souboru mám linku s kočkou. 558 00:26:01,590 --> 00:26:04,160 V souboru dvou mám linku s kočkou. 559 00:26:04,160 --> 00:26:07,280 Takže teď můžu podívat do jednoho souboru a vidět ach jo, že soubor dělal mít kočku. 560 00:26:07,280 --> 00:26:10,210 Oznámení soubor tří nebylo uzavřeno protože kočka není tam. 561 00:26:10,210 --> 00:26:13,882 Mohu grep pro mňau. 562 00:26:13,882 --> 00:26:14,840 Podat pouze dvě má ​​mňau. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> Takže to můžete kombinovat, opět, s -r, který 565 00:26:20,640 --> 00:26:23,580 jak jsem již řekl dříve často znamená rekurzivní. 566 00:26:23,580 --> 00:26:29,800 A tak jsem si sem nahoru, grep -r pro of-- jakékoliv instance pojďme upravit 567 00:26:29,800 --> 00:26:32,010 tohle jen hodit kočku tam. 568 00:26:32,010 --> 00:26:38,800 Takže grep -r pro každou instanci kočka na celém tomto adresáři. 569 00:26:38,800 --> 00:26:41,600 A to bude rekurzivně vyhledat všechny podadresáře. 570 00:26:41,600 --> 00:26:43,940 Takže Baz, je to kočka. 571 00:26:43,940 --> 00:26:45,570 V temp / 2, je to kočka. 572 00:26:45,570 --> 00:26:47,960 A v temp / 1 tam je kočka. 573 00:26:47,960 --> 00:26:50,045 Tak to je vyhledávání v souborech. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> Nyní můžete použít také nález. 576 00:26:55,090 --> 00:26:59,640 A tak si je konkrétně o hledat soubory s křestním jménem. 577 00:26:59,640 --> 00:27:02,490 Takže pojďme se ještě víc. 578 00:27:02,490 --> 00:27:03,660 Pojďme do stahování. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 Dotkněte dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 Dotkněte se kategorie 2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 Dotkněte cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 Dotkněte kočkakočka. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> Tak jsem chtěl najít všechny Soubory se psem v názvu. 589 00:27:23,810 --> 00:27:28,060 Takže najít, a nejdelší Čas nikdy jsem si vzpomněl 590 00:27:28,060 --> 00:27:33,760 jak najít pracoval, až jsem nakonec přečtěte si něco, co je tak jasné. 591 00:27:33,760 --> 00:27:35,784 Takže najít, automaticky rekurzivní. 592 00:27:35,784 --> 00:27:36,950 Nemusíte projít -r. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 Takže najít tečku. 595 00:27:39,110 --> 00:27:40,750 Nemluvili jsme o bod ještě. 596 00:27:40,750 --> 00:27:44,800 Vzhledem k tomu, dot dot vždy znamená jednu úroveň výš. 597 00:27:44,800 --> 00:27:46,960 Dot vždy znamená aktuální adresář. 598 00:27:46,960 --> 00:27:51,390 Takže jsem mohl rm -r tečku Stejně tak mohu rm -rf *. 599 00:27:51,390 --> 00:27:53,140 Nakonec se dosáhnout totéž. 600 00:27:53,140 --> 00:27:56,040 rm -rf tečka se chystá odstranit Celá aktuální adresář. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> OK, které nechci dělat tam. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 Ale najít tečku. 605 00:28:04,320 --> 00:28:07,920 Tak rekurzivně prohledat aktuální adresář, a teď je všechno 606 00:28:07,920 --> 00:28:14,125 po tomto jsou banda vlajek, které jste použít k vyloučení věci z návratu. 607 00:28:14,125 --> 00:28:17,250 Takže najít tečka vrátí vše, co je najdete z aktuálního adresáře. 608 00:28:17,250 --> 00:28:19,700 To jsou všechny soubory rekurzivně vyhledávání. 609 00:28:19,700 --> 00:28:21,250 Uvidíme, některé z nich v druhém. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> Ale v případě, že jste zvědaví, jak to dělám že, tak Command K, přinejmenším 612 00:28:27,140 --> 00:28:29,660 v mém terminálu v Mac vymaže ji. 613 00:28:29,660 --> 00:28:34,660 Control L obecně vymaže je pro každý druh terminálu. 614 00:28:34,660 --> 00:28:36,480 Můžete také zadat jasné. 615 00:28:36,480 --> 00:28:38,410 A pokud jste někdy do podivné scenario-- 616 00:28:38,410 --> 00:28:42,790 to se mi stalo pár time-- kde barvy vašich výzev 617 00:28:42,790 --> 00:28:46,590 jsou zpackal, nebo vám nejsou schopni vidět nic 618 00:28:46,590 --> 00:28:51,232 napsaný při psaní, protože někdy jako barva pozadí nastavena 619 00:28:51,232 --> 00:28:53,940 stejně jako barvu popředí a teď nemůžete vidět písma. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 Reset je něco, co prostě resetuje můžete výchozí černém pozadí, 622 00:28:59,830 --> 00:29:01,840 bílá přední, nebo cokoliv jiného nastavit jim. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> Tak kde jsme to skončili? 625 00:29:04,790 --> 00:29:05,930 Najít tečka. 626 00:29:05,930 --> 00:29:09,360 Takže teď vše kolem této bod omezuje výsledky 627 00:29:09,360 --> 00:29:11,450 na něco, co odpovídá daný vzor. 628 00:29:11,450 --> 00:29:16,110 Tak tady Chci vyhledávat vše s názvem kočka. 629 00:29:16,110 --> 00:29:17,300 Nemám nic. 630 00:29:17,300 --> 00:29:18,390 Proč je to tak? 631 00:29:18,390 --> 00:29:21,230 No, já jsem jen hledal něco, co se přesně jméno kočky. 632 00:29:21,230 --> 00:29:25,150 Chci-li hledat něco že má nějaký vzor, ​​a cat-- 633 00:29:25,150 --> 00:29:28,890 uvozovky technicky nejsou nutné, ale já jsem je hodil tam. 634 00:29:28,890 --> 00:29:32,720 Takže teď zjistí kočkakočka z následujících důvodů to je jediná věc, která 635 00:29:32,720 --> 00:29:36,040 má některé libovolná vzor následuje kočka. 636 00:29:36,040 --> 00:29:41,950 Můžu dát kočku *, a teď najít kočkakočka, cat_dog, kategorie 2, 637 00:29:41,950 --> 00:29:45,245 protože to jsou všechny věci s kočkou Na začátku následuje ničím. 638 00:29:45,245 --> 00:29:46,120 Můžete zkombinovat. 639 00:29:46,120 --> 00:29:50,480 Chcete-li vyhledat všechny soubory C že máte, můžete dělat * .c. 640 00:29:50,480 --> 00:29:51,960 Jsme blah.c zde. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 Tak to je najít práce. 643 00:29:55,020 --> 00:29:55,770 Můžete vyhledávat. 644 00:29:55,770 --> 00:29:58,270 Má spoustu vlajek pro další omezení. 645 00:29:58,270 --> 00:30:00,960 A jeden z nich, řekněme -d. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 Tak zastaralé. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 Oh, to není to, co chci. 650 00:30:06,550 --> 00:30:07,730 Ne -d. 651 00:30:07,730 --> 00:30:08,860 Typ d. 652 00:30:08,860 --> 00:30:13,820 Takže najít tečku - typ d. 653 00:30:13,820 --> 00:30:17,760 Takže, co to udělal je, že jsem vyhledávání pro všechny soubory v aktuálním adresáři 654 00:30:17,760 --> 00:30:21,680 s je-- d představuje directory-- typ adresáře. 655 00:30:21,680 --> 00:30:24,430 Vrátí všechny adresáře v aktuálním adresáři. 656 00:30:24,430 --> 00:30:27,670 A typ F je vše pravidelné soubory, všechny non adresáře. 657 00:30:27,670 --> 00:30:29,809 Tak to je jen Příkladem dalších způsobů, jak 658 00:30:29,809 --> 00:30:32,350 může omezit další hledání než jen název souboru. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> Už je to 30 minut. 661 00:30:35,570 --> 00:30:36,848 Stále pokračuje. 662 00:30:36,848 --> 00:30:38,132 >> ALLISON: Budu vánek přes. 663 00:30:38,132 --> 00:30:39,670 Bude to v pořádku. 664 00:30:39,670 --> 00:30:41,460 >> ROB BOWDEN: Takže některé další věci. 665 00:30:41,460 --> 00:30:45,700 Nyní bang, vykřičník. 666 00:30:45,700 --> 00:30:50,530 Takže obecně means-- dobře, pojďme si prohlédnout příklad. 667 00:30:50,530 --> 00:30:52,230 Tak! F, co se to bude dělat? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 No zdá se, že opakoval find tečka -typ f. 670 00:30:57,810 --> 00:30:59,240 Co! G? 671 00:30:59,240 --> 00:31:00,760 Že právě grep -r kočku *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 Takže bang můžete použít opakovat nedávno udělali příkaz. 674 00:31:05,720 --> 00:31:13,280 Takže když jsem psát! Gre, že to bude znovu-run příkazy, které začaly s gre nejvíce 675 00:31:13,280 --> 00:31:14,060 v poslední době. 676 00:31:14,060 --> 00:31:17,090 >> A můžete vidět, všechny tyto příkazy s historií. 677 00:31:17,090 --> 00:31:17,880 Historie tak. 678 00:31:17,880 --> 00:31:19,630 To vše jsou Příkazy jsem dnes spustit. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 A dobře, není to doslova omezena na dnes, 681 00:31:23,130 --> 00:31:25,180 ale já jsem použít pouze tato zařízení jako dnes. 682 00:31:25,180 --> 00:31:28,730 Je to vaše celistvost historii Vašeho bash shell, 683 00:31:28,730 --> 00:31:30,433 kromě toho, že uřízne v určitém okamžiku. 684 00:31:30,433 --> 00:31:33,474 Diváků: Co se stane, pokud nemáte Historie [neslyšitelné] příkaz a chyby 685 00:31:33,474 --> 00:31:35,430 ve výsledku bude stále tisknout the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB BOWDEN: Ano, v případě, že je chyba v jednom z těchto commands-- 687 00:31:44,110 --> 00:31:48,090 tak řekněme, že je Příkaz k chybě nebyl nalezen. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 Stále se totiž jeví v historii. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 Dobrá. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 Další otázky týkající se něco? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 Tak to je rána. 696 00:32:00,300 --> 00:32:04,230 >> Teď opravdu užitečné příkaz man. 697 00:32:04,230 --> 00:32:07,750 Tak, že vám Příručka pro daný příkaz. 698 00:32:07,750 --> 00:32:11,640 Takže řekněme, že muž ls, tak to se také projevilo mi ls. 699 00:32:11,640 --> 00:32:13,400 Uvádí obsah adresáře. 700 00:32:13,400 --> 00:32:17,150 A to je místo, kde vidím, že tam jsou tyto různé příznaky, které existují. 701 00:32:17,150 --> 00:32:21,340 Vidíme tedy, že ls -l existuje pokud bychom měli číst, že. ls -l 702 00:32:21,340 --> 00:32:26,150 mi dává tuto úplný výpis adresář, který vlastní soubor, 703 00:32:26,150 --> 00:32:29,750 Velikost souboru, upravené časové razítko. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 Takže ls -a je ještě jeden, který byste mohli skutečně používat poněkud častěji. 706 00:32:34,980 --> 00:32:38,130 -al je můj nejčastější příznak letos ls. 707 00:32:38,130 --> 00:32:42,520 >> Takže -a, všimněte si, že je to hodně více souborů, než jen ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 Co je společné se všemi těmito soubory? 710 00:32:46,170 --> 00:32:47,790 Začínají s tečkou. 711 00:32:47,790 --> 00:32:54,710 Tak to je konvence v Linuxu, že soubory, které začínají tečkou jsou skryté. 712 00:32:54,710 --> 00:32:58,330 Tak to prostě znamená, že když my jen rovně ls, 713 00:32:58,330 --> 00:33:04,170 nebo si hledáte tento adresář pomocí nálezce ekvivalent, nebo Windows 714 00:33:04,170 --> 00:33:07,250 Ekvivalentní Explorer, že jsme nechci vidět tyto dot soubory. 715 00:33:07,250 --> 00:33:09,680 Prostě znečišťují pohled na věc. 716 00:33:09,680 --> 00:33:11,790 Tak oni jsou skryty pokud o to výslovně 717 00:33:11,790 --> 00:33:14,250 požádat je něco jako -a. 718 00:33:14,250 --> 00:33:18,920 Tak jsem si cd do .místní, a vidím že, že je sám o sobě adresář s 719 00:33:18,920 --> 00:33:22,220 sdílený adresář a aplikace, a bla bla bla. 720 00:33:22,220 --> 00:33:24,520 Takže dot, soubory, jsou to jen skryté. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> OK, takže ostatní nejdůležitější. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 Mám pár můžu vynechat. 725 00:33:32,000 --> 00:33:38,160 Řekněme, opravdu rychle mluvit o Přesměrování soubor věcí. 726 00:33:38,160 --> 00:33:43,020 Takže tam je celý komplex série věcí, které můžete dělat s nimi, 727 00:33:43,020 --> 00:33:47,204 ale jen proto, aby je viděl, řekněme, echo. 728 00:33:47,204 --> 00:33:47,870 Další příkaz. 729 00:33:47,870 --> 00:33:48,920 Opravdu hloupý příkaz. 730 00:33:48,920 --> 00:33:50,710 Vše, co to udělá, je pro tisk, co ti řeknu to. 731 00:33:50,710 --> 00:33:52,070 Tak echo ahoj. 732 00:33:52,070 --> 00:33:53,850 Je to jen ozvěna pozdrav na obrazovku. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Hello world. 735 00:33:56,390 --> 00:33:57,890 Ozvěny hello world. 736 00:33:57,890 --> 00:34:02,650 >> Takže jeden příkaz, nebo jedno symbol, který bash chápe 737 00:34:02,650 --> 00:34:07,620 je to větší než symbol, a že je výstup na symbol souboru. 738 00:34:07,620 --> 00:34:10,940 Takže pokud výstup jsem to foo, je tu nyní soubor 739 00:34:10,940 --> 00:34:15,100 s názvem foo, uvnitř což je hello world. 740 00:34:15,100 --> 00:34:18,489 Tak si všimněte, že když jsem echo hello world potrubí do foo, 741 00:34:18,489 --> 00:34:19,980 neměla echo Hello World. 742 00:34:19,980 --> 00:34:22,630 Namísto toho byl uveden do souboru foo. 743 00:34:22,630 --> 00:34:25,340 A další povel jen to hodit na vás, kočku. 744 00:34:25,340 --> 00:34:29,191 Je to snadný způsob, jak jen zcela vypsat obsah souboru 745 00:34:29,191 --> 00:34:31,440 takže nemám otevřít textový editor pro zobrazení. 746 00:34:31,440 --> 00:34:34,159 Takže obsah foo soubor jsou hello world. 747 00:34:34,159 --> 00:34:38,460 A já jsem mohl kočka blah.c, obsah jsou to. 748 00:34:38,460 --> 00:34:42,123 >> Opět platí, že se jedná o příkazy, které, ne Předpokládám, že je všechny nazpaměť. 749 00:34:42,123 --> 00:34:43,860 Myšlenka je, že jste je viděli. 750 00:34:43,860 --> 00:34:45,735 Možná, že pracujete na něco, a vy jste 751 00:34:45,735 --> 00:34:47,230 jako já jsem nemocný z otevření tohoto souboru. 752 00:34:47,230 --> 00:34:50,120 Kéž bych mohl jen dívat na obsah opravdu rychle. 753 00:34:50,120 --> 00:34:52,320 Dalo by se to udělat, pak ohlédnout a říct, oh I 754 00:34:52,320 --> 00:34:55,250 pamatovat něco jako že existuje, a je to kočka. 755 00:34:55,250 --> 00:35:00,630 >> Tak, že se chystá do souboru. 756 00:35:00,630 --> 00:35:06,639 Teď tam není opravdu k ničemu Příklad čtení ze souboru dosud. 757 00:35:06,639 --> 00:35:08,930 Co je to něco, co má něco z standardně? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 Každý jednoduchý Linux příkaz? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 Když jsme se k ní dostanete, v páru týdnů všechny piece-- dobře, 762 00:35:16,970 --> 00:35:20,470 tento týden budete mít kousek, kde se začnete vstup od uživatele. 763 00:35:20,470 --> 00:35:23,696 A tak obvykle napíšete že vstup na klávesnici. 764 00:35:23,696 --> 00:35:25,570 Místo psaní, že vstup na klávesnici, 765 00:35:25,570 --> 00:35:30,950 můžete místo toho potrubí od souboru takže když děláte Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 potrubí v každém z daného souboru, a že to bude ke spuštění programu Mario. 767 00:35:35,200 --> 00:35:37,300 Nečekal vstup na klávesnice, místo toho je to 768 00:35:37,300 --> 00:35:39,650 jen tak číst řádky ze souboru foo. 769 00:35:39,650 --> 00:35:45,230 >> Takže větší než foo staví do soubor foo, a méně než foo 770 00:35:45,230 --> 00:35:50,170 bere věci ze souboru foo a používá to jako vstup do tohoto programu. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 A právě to vidět, mohli bychom také echo foo bar Baz, a pak místo jednoho 773 00:36:00,630 --> 00:36:03,850 větší než, pojďme dělat dva do foo. 774 00:36:03,850 --> 00:36:05,610 Co to dělá? 775 00:36:05,610 --> 00:36:07,180 Je to jen připojí k souboru. 776 00:36:07,180 --> 00:36:15,360 Takže místo toho všimnout, když se mi echo bla do foo a pak kočka foo, je to jen bla. 777 00:36:15,360 --> 00:36:18,285 Takže když se výstup do souboru to, kompletně přepíše tento soubor. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 Pokud si jen chcete připojit, double [? grader. ?] 780 00:36:22,740 --> 00:36:24,080 >> A poslední je trubka. 781 00:36:24,080 --> 00:36:29,590 Pipe dostane mnohem složitější, kde trvá výstup jednoho příkazu 782 00:36:29,590 --> 00:36:32,320 a napájí ho do dalšího příkazu. 783 00:36:32,320 --> 00:36:36,140 Takže někteří běžná věc, historie. 784 00:36:36,140 --> 00:36:37,920 Tak, fuj, nechci, aby se na to podíval. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 Ukaž mi všechny příkazy v mé minulosti kde jsem grep-ED za něco. 787 00:36:44,485 --> 00:36:45,360 Ne, to je matoucí. 788 00:36:45,360 --> 00:36:50,360 Ukaž mi všechny příkazy kde najdu. 789 00:36:50,360 --> 00:36:52,360 Vše najdete příkazy, co jsem kdy běžel. 790 00:36:52,360 --> 00:36:55,050 >> Historie tak. 791 00:36:55,050 --> 00:36:59,017 Nyní historie výstupů na Obrazovka tento seznam příkazů, 792 00:36:59,017 --> 00:37:00,850 ale já nechci výstup na obrazovku. 793 00:37:00,850 --> 00:37:03,445 Místo toho budu potrubí ní do grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 Takže pojďme grep pro všechny případy nálezu. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 Takže teď místo grep odběru vstup, místo toho of-- 798 00:37:17,000 --> 00:37:24,360 grep je schopen zvládnout, jak input-- jsme pomocí grep trochu jinak zde. 799 00:37:24,360 --> 00:37:29,550 Takže místo psaní seznamu věci, které jsme chtěli hledat 800 00:37:29,550 --> 00:37:31,070 a řekl, grep bere jako vstup. 801 00:37:31,070 --> 00:37:34,810 Takže když jsem to jen grep najít, to čeká na mě psát věci. 802 00:37:34,810 --> 00:37:37,661 Takže kočka ahoj najít. 803 00:37:37,661 --> 00:37:38,160 Dobrý den. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 Najít. 806 00:37:40,930 --> 00:37:43,670 Všimněte si, pokaždé, když jsem si napíšete uznává, že jsem napsal nález. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 Takže místo toho, bude vyhledávání souborů na najít. 809 00:37:49,540 --> 00:37:53,930 >> Takže historie se nyní chystá Výstup seznam všech příkazů. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 Dáváme tento výstup, a my jsme krmení, aby grep, 812 00:37:58,100 --> 00:38:00,180 a tak to vyplivne všechny instance najít. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 Důvod, proč jsem řekl, že to bude matoucí je-li Já-- je stále matoucí. 815 00:38:05,570 --> 00:38:07,030 Kdybych grep pro grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 Všimněte si, že je to skoro vždy ukazuje příkaz jsem právě 818 00:38:11,130 --> 00:38:15,280 běžel, protože tento příkaz sám má grep uvnitř ní. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> OK, takže všechny otázky týkající se něco? 821 00:38:20,674 --> 00:38:22,340 A já budu přenášet ji v tomto bodě. 822 00:38:22,340 --> 00:38:24,690 Doufejme, že to je pěkný Přehled všech příkazů 823 00:38:24,690 --> 00:38:30,100 že nemusíte mít paměti, ale ty tvoří 824 00:38:30,100 --> 00:38:32,950 pevná 95% z toho, co jsem dělat na příkazovém řádku. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 Také mějte na paměti, že příkazový řádek sám, bash je programovací jazyk, 827 00:38:39,140 --> 00:38:43,070 a tak, když se dostanete až na to, vy chtít udělat opravdu složité věci. 828 00:38:43,070 --> 00:38:47,522 A tak to má věci, jako je smyčky, a IFS, a všechny ty, 829 00:38:47,522 --> 00:38:50,230 že budete zvykat na se svými programovacích jazyků. 830 00:38:50,230 --> 00:38:53,660 Ale to je mimo Rozsah této části. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 OK, takže žádné otázky? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 ALLISON: None? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: Chystáš to-- 836 00:38:59,450 --> 00:39:01,158 ALLISON: Já to zvládnu na mě, jestli chceš. 837 00:39:01,158 --> 00:39:02,626 Vidíme, co se děje. 838 00:39:02,626 --> 00:39:03,750 ROB BOWDEN: Vypnuto Allison. 839 00:39:03,750 --> 00:39:05,090 ALLISON: Woo. 840 00:39:05,090 --> 00:39:07,504 Jsi tvrdý akt sledovat, Robe. 841 00:39:07,504 --> 00:39:08,920 Chceš, abych přejít s vámi? 842 00:39:08,920 --> 00:39:10,246 Nebo máš, OK. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 Budu se snažit, a ne poměrně být zdlouhavé tam. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 Uvidíme, jestli to bude pracovat tak, jak chci, aby to. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 Možná, že? 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 Ano. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> Tak jsem jen tak rychle jít pomocí proměnných, cykly, podmínky, 854 00:39:34,066 --> 00:39:35,440 a trochu na kompilátoru. 855 00:39:35,440 --> 00:39:38,570 Pokud máte dotazy na kdykoliv, prosím, přestaň mě. 856 00:39:38,570 --> 00:39:42,750 Tihle kluci mi bude připomínat opakovat Váš dotaz v případě, že jsem zapomněl, 857 00:39:42,750 --> 00:39:44,210 ale neměla by být příliš špatné. 858 00:39:44,210 --> 00:39:45,850 >> Takže proměnných, jo. 859 00:39:45,850 --> 00:39:48,060 Nemáme jeden z vašich Stírací kousky zde. 860 00:39:48,060 --> 00:39:50,440 Jsem si jist, že většina z vás, je-li jste měli nějaké hry 861 00:39:50,440 --> 00:39:53,810 které jste vytvořili pomocí Scratch, jste měli sledovat něco jako skóre, 862 00:39:53,810 --> 00:39:55,870 nebo čas, nebo něco takového. 863 00:39:55,870 --> 00:39:58,080 Takže ti jasně oranžové kusy, které vidíme zde 864 00:39:58,080 --> 00:40:02,630 jsou jen Scratch forma proměnné, a budete určitě 865 00:40:02,630 --> 00:40:04,640 být pomocí proměnných po celou dobu své programy. 866 00:40:04,640 --> 00:40:07,350 Pokud ne, opravdu nejsem jisti, že to, co děláte. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> Ale i tak velká věc, definování proměnných. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 S C každá proměnná má mít typ prohlásil, 871 00:40:16,970 --> 00:40:22,090 tak jsem vám dal velmi Obecně jeden nahoře. 872 00:40:22,090 --> 00:40:24,045 Tak budete mít vaše typ a poté, co 873 00:40:24,045 --> 00:40:25,420 se rozhodnete volat proměnnou. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 Takže v tomto případě, typu v seznamu proměnných. 876 00:40:29,680 --> 00:40:31,400 >> Máme tři příklady. 877 00:40:31,400 --> 00:40:34,439 Char nějaké třídě, z A, což je to, co 878 00:40:34,439 --> 00:40:36,230 Jsem si jistý, že všichni chtějí aby se v této třídě. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 Můžete definovat více proměnné na jedné lince 881 00:40:40,670 --> 00:40:43,880 jak dlouho jak oni jsou všichni stejného typu, který je naším druhým příkladem zde 882 00:40:43,880 --> 00:40:46,409 kde máte tři proměnné, x, y a z. 883 00:40:46,409 --> 00:40:47,200 Jsou to všechno plave. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 A pak se můžete také, v tomto posledním příklad s int skóre a počet 886 00:40:53,250 --> 00:40:56,510 týmů, můžete Inicializace je tady. 887 00:40:56,510 --> 00:41:01,270 >> Tak ve střední příkladu, kde jsme prostě plovák X, Y a Z, 888 00:41:01,270 --> 00:41:02,730 ty nejsou inicializovány ještě. 889 00:41:02,730 --> 00:41:04,140 Nemají žádnou hodnotu. 890 00:41:04,140 --> 00:41:05,600 Nebo mají hodnoty odpadky. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 A pokud se pokusíte a jejich použití, kompilátor bude řvát na vás. 893 00:41:10,790 --> 00:41:14,727 Máte jak deklarovat a proměnné inicializovat. 894 00:41:14,727 --> 00:41:16,310 Takže v tomto posledním, děláme oba. 895 00:41:16,310 --> 00:41:19,320 Jsme deklarování proměnných na skóre a počet týmů, 896 00:41:19,320 --> 00:41:24,134 a my jsme je inicializace, což jim, že jejich počáteční hodnoty 7 a 4 897 00:41:24,134 --> 00:41:24,675 resp. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 V pohodě. 900 00:41:27,190 --> 00:41:28,550 Každý dobrý? 901 00:41:28,550 --> 00:41:29,470 Úžasné. 902 00:41:29,470 --> 00:41:31,690 >> OK, takže některé konvence. 903 00:41:31,690 --> 00:41:35,965 Pokud Přečetl vy přes styl 50, tyto 904 00:41:35,965 --> 00:41:39,510 jsou jen věci, které bychom chtěli pro implementovat ve svém stylu. 905 00:41:39,510 --> 00:41:41,230 Tak smysluplné názvy. 906 00:41:41,230 --> 00:41:45,700 Pokud začnete nazývat věci jen x, y a z, a to zejména 907 00:41:45,700 --> 00:41:47,902 jak se dostanete do zdlouhavější programy, ty jsi 908 00:41:47,902 --> 00:41:49,610 pravděpodobně bude plést se a být 909 00:41:49,610 --> 00:41:52,930 jako to, co je tato proměnná s odkazem na. 910 00:41:52,930 --> 00:41:55,880 Nemám ponětí, co to znamená. 911 00:41:55,880 --> 00:41:59,280 >> Takže pokud to znamenalo držet skóre, říkají skóre. 912 00:41:59,280 --> 00:42:05,720 Pokud to mělo mít nějaké odpovědi nebo způsobit, dát mu jméno, jako je to. 913 00:42:05,720 --> 00:42:09,920 U smyček, které budeme dostat se do do další snímek, 914 00:42:09,920 --> 00:42:12,985 proměnné jednotlivé dopis jsou v pořádku. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB BOWDEN: I, j a k jsou jen konvence pro smyčky 917 00:42:18,449 --> 00:42:22,050 že každý je očekává, být nazýván i, j a k. 918 00:42:22,050 --> 00:42:26,890 Můžete volat them-- vidím řádek sloupec nebo řádek volání někdy 919 00:42:26,890 --> 00:42:29,450 dvou vnořených cyklů a to je také druh standardem. 920 00:42:29,450 --> 00:42:31,450 Ale i a j je zcela znám. 921 00:42:31,450 --> 00:42:33,670 >> ALLISON: Jo, já a j, že jste úplně v pohodě. 922 00:42:33,670 --> 00:42:36,250 Z důvodu jasnosti, jako je v některé z vašich P sad, 923 00:42:36,250 --> 00:42:39,745 to by mohlo mít smysl mít více popisné věci tam prostě 924 00:42:39,745 --> 00:42:40,920 sledovat to. 925 00:42:40,920 --> 00:42:45,100 Ale myslím, že i, j, k a myslím, že Naprostá většina z nás všechna použití. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB BOWDEN: S těmito konvence, takže styl je důležité. 928 00:42:50,340 --> 00:42:53,520 Je to jedna ze čtyř os na kterém jste třídí, 929 00:42:53,520 --> 00:42:58,110 a je to tak snadné prostě jít přes Váš P stanovena na konec, a ujistěte se, že 930 00:42:58,110 --> 00:42:59,770 že tam nejsou stylistické chyby. 931 00:42:59,770 --> 00:43:01,742 Takže se ujistěte, že jste tabbing správně. 932 00:43:01,742 --> 00:43:03,200 Ujistěte se, že proměnné jsou pojmenovány. 933 00:43:03,200 --> 00:43:04,450 Nechte několik poznámek. 934 00:43:04,450 --> 00:43:06,677 Je velmi snadné se dostat ty body. 935 00:43:06,677 --> 00:43:09,510 Nemusíte přemýšlet o tom, cokoliv, aby se tyto body. 936 00:43:09,510 --> 00:43:11,093 Nemusíte přijít na něco ven. 937 00:43:11,093 --> 00:43:12,640 Je to jen aby to vypadalo pěkně. 938 00:43:12,640 --> 00:43:14,850 >> ALLISON: Ve skutečnosti jsme mají styl 50, který 939 00:43:14,850 --> 00:43:17,920 vám řekne, kam si hrát up, pokud jste popletl na styl 940 00:43:17,920 --> 00:43:21,180 a řekne vám přesně to, co vám je třeba opravit, a jak je třeba jej opravit. 941 00:43:21,180 --> 00:43:23,900 Je to také jen dobré se zmínit že to je samozřejmě politika 942 00:43:23,900 --> 00:43:27,200 že pokud jste v kanceláři hodin a váš kód je nepořádek, 943 00:43:27,200 --> 00:43:30,200 můžeme odmítnout pomoci jste až to vypadá hezčí. 944 00:43:30,200 --> 00:43:34,310 Takže začít hned, udržet konzistentní styl, 945 00:43:34,310 --> 00:43:37,100 jste také jen tak, aby se vaše životy mnohem jednodušší, když 946 00:43:37,100 --> 00:43:38,730 se snažíte projít ladění. 947 00:43:38,730 --> 00:43:41,510 Pokud se snažíte přijít na to, kam chybí složená závorka 948 00:43:41,510 --> 00:43:44,890 a oni jsou všude, že jste jen aby svůj vlastní život těžší. 949 00:43:44,890 --> 00:43:47,217 Takže být v souladu se stylem. 950 00:43:47,217 --> 00:43:48,800 Slibuji, že to, aby váš život jednodušší. 951 00:43:48,800 --> 00:43:50,330 Bude to náš život jednodušší. 952 00:43:50,330 --> 00:43:51,869 Každý, kdo bude mnohem šťastnější. 953 00:43:51,869 --> 00:43:52,910 A to je to, co chcete. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL: Vaše známka bude vyšší. 956 00:43:55,650 --> 00:43:56,858 ALLISON: Ano, a vaše třída. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 Pokud váš TF je jako vy, má tendenci být příznivý. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 V pořádku, a pak už jen Druhým bodem je zde. 961 00:44:05,010 --> 00:44:06,300 Konzistentní inicializace. 962 00:44:06,300 --> 00:44:09,605 Tak jak jsme viděli, můžete deklarovat a inicializovat věci. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 Více proměnných na stejném řádku. 965 00:44:13,180 --> 00:44:17,930 Jedna věc, kterou bychom vám rádi ne udělat, je, aby prohlásil některé proměnné 966 00:44:17,930 --> 00:44:21,360 a nelze inicializovat je na stejné řádek, který se inicializuje ostatní. 967 00:44:21,360 --> 00:44:23,960 >> Takže v případě, že z nemá smysl vůbec, 968 00:44:23,960 --> 00:44:29,050 máme příklad zde kde jsme vyhlášení celých čísel 969 00:44:29,050 --> 00:44:31,180 v proměnné čtvrtletí desetníky a haléře, 970 00:44:31,180 --> 00:44:34,214 ale čtvrtiny a haléře nemají žádnou počáteční hodnotu. 971 00:44:34,214 --> 00:44:36,630 Jsme jim není inicializován, ale přímo tam uprostřed 972 00:44:36,630 --> 00:44:38,600 jsme již inicializován desetníky na 0. 973 00:44:38,600 --> 00:44:41,650 Takže buď udělat čtvrtě, desetníky, haléře. 974 00:44:41,650 --> 00:44:43,170 Nebo čtvrtiny rovnat 0. 975 00:44:43,170 --> 00:44:43,930 Desetníky rovná 0. 976 00:44:43,930 --> 00:44:46,810 Haléře roven 0, nebo cokoliv jiného tyto počáteční hodnoty. 977 00:44:46,810 --> 00:44:49,800 >> Velká věc ve velkém stylu, být v souladu. 978 00:44:49,800 --> 00:44:51,050 Pokud jste na pochybách, být v souladu. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 Ale sledujte náš styl průvodce taky. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 V pohodě. 983 00:44:55,317 --> 00:44:56,150 Každý, kdo tam dobře? 984 00:44:56,150 --> 00:44:57,566 >> Diváků: Kde je průvodce styl? 985 00:44:57,566 --> 00:45:00,800 ALLISON: Průvodce styl je on-- co webové stránky? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: Myslím, že je manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 ALLISON: Style? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL: Style. 990 00:45:06,390 --> 00:45:06,920 Jo. 991 00:45:06,920 --> 00:45:07,520 >> ALLISON: Ano. 992 00:45:07,520 --> 00:45:10,150 Takže otázka, kde je ve stylu 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 Ano? 995 00:45:13,639 --> 00:45:16,880 >> Diváků: Pokud budeme definovat proměnné, je to v pořádku 996 00:45:16,880 --> 00:45:28,145 Dáme-li jako [neslyšitelné] jako int skóre a pak int cíl. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 Takže bys řekl, že nyní máme dostal je definovat společně? 999 00:45:35,100 --> 00:45:37,640 >> ALLISON: Takže, by měly Máte redundantní kód 1000 00:45:37,640 --> 00:45:40,940 při definování proměnné, jako je int skóre a 1001 00:45:40,940 --> 00:45:43,239 Na dalším řádku int hry? 1002 00:45:43,239 --> 00:45:46,030 ROB BOWDEN: Existují určitě případy, kdy redundantní kód je špatný. 1003 00:45:46,030 --> 00:45:47,738 Já bych nepovažoval že redundantní kód. 1004 00:45:47,738 --> 00:45:50,970 Málem jsem nikdy deklarovat více proměnné na stejném řádku v historii. 1005 00:45:50,970 --> 00:45:53,736 A když už, tak je to proto, obvykle nechám nějaký komentář 1006 00:45:53,736 --> 00:45:55,235 vysvětlí, co je proměnná pro. 1007 00:45:55,235 --> 00:45:57,582 Takže budu říkat int skóre lomítko lomítko. 1008 00:45:57,582 --> 00:45:59,350 Udržuje cokoliv. 1009 00:45:59,350 --> 00:46:00,710 V celkovém lomítko lomítko. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 Takže je to mnohem drsnější tímto způsobem dát je všechny na stejném řádku. 1012 00:46:06,455 --> 00:46:08,080 Jen jsem nikdy dát je na stejném řádku. 1013 00:46:08,080 --> 00:46:10,580 >> ALLISON: mám pocit, že je to osobní preference v tomto bodě. 1014 00:46:10,580 --> 00:46:14,900 >> Diváků: Znamená to, že jít na pro smyčky a tak taky? 1015 00:46:14,900 --> 00:46:15,900 ROB BOWDEN: Jako uvnitř? 1016 00:46:15,900 --> 00:46:18,282 Stejně jako int i = 0 čárku délka se rovná něco? 1017 00:46:18,282 --> 00:46:19,490 Že nemáte na výběr. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 Díky za smyčky inicializaci part-- tak jste mohli vidět pouze 1020 00:46:25,910 --> 00:46:31,520 int i = 0 středník i méně než cokoliv středník i a a. 1021 00:46:31,520 --> 00:46:33,820 To int i = 0, technicky můžete také 1022 00:46:33,820 --> 00:46:35,770 to, co jsme viděli před se syntaxí čárkou. 1023 00:46:35,770 --> 00:46:39,790 int i = 0 čárkou j se rovná 3 čárka k se rovná 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 Nemáte na výběr rozdělit že až do více řádků, 1026 00:46:44,320 --> 00:46:46,530 a to je standardní. 1027 00:46:46,530 --> 00:46:47,780 Vidět to je v pořádku. 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 ALLISON: Úžasné. 1030 00:46:49,890 --> 00:46:52,120 No, pohodlný přechod do smyček. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 Tak jo, máme tu několik příkladů ze smyčky, které vy viděli v Scratch. 1033 00:46:58,980 --> 00:47:01,550 A samozřejmě všechny tyto stačí být znovu v C. 1034 00:47:01,550 --> 00:47:04,610 A v podstatě, aby vás opakovat nějakou část kódu 1035 00:47:04,610 --> 00:47:06,740 až do určitého stavu je splněna, což my budeme 1036 00:47:06,740 --> 00:47:09,198 dostat se do pravé po rozhovoru o smyčky s conditionals. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> Takže máme tři hlavní typy. 1039 00:47:12,570 --> 00:47:17,500 For, while, a to nějakou chvíli, která budeme všichni projít právě teď. 1040 00:47:17,500 --> 00:47:18,860 Takže první je pro smyčky. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 Tak pro některé stavu, spustit tento blok kódu. 1043 00:47:25,034 --> 00:47:27,200 Jsme to pěkné malé mají diagram zde dole. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 Ale v podstatě máte v Váš na, že první řádek, 1046 00:47:32,310 --> 00:47:34,240 budete proměnné inicializovat. 1047 00:47:34,240 --> 00:47:38,260 >> Tak, jak jsme mluvili o, i je rovno 0 nebo i je roven 10. 1048 00:47:38,260 --> 00:47:40,010 Ať už budete potřebovat variabilní být, že je to 1049 00:47:40,010 --> 00:47:43,970 bude tam inicializován, deklarovány a inicializovány na nějakou hodnotu. 1050 00:47:43,970 --> 00:47:46,760 Takže máme některé podmínka, že se děje 1051 00:47:46,760 --> 00:47:48,900 bude kontrolovat naše proměnná proti něčemu. 1052 00:47:48,900 --> 00:47:55,220 Takže v případě, typický případ, kdy Možná budete chtít tuto část kódu 1053 00:47:55,220 --> 00:47:56,620 provést pětkrát. 1054 00:47:56,620 --> 00:48:02,380 Takže budeme mít int i = 0, a my chci, aby to bylo, když jsem je menší než 5. 1055 00:48:02,380 --> 00:48:04,940 Takže tato podmínka je jen bude kontrolovat, že pokaždé. 1056 00:48:04,940 --> 00:48:07,120 Pokud tuto podmínku vyhodnocen jako pravdivý, je to 1057 00:48:07,120 --> 00:48:11,162 chystá spustit kód, který je přesně co tento malý diagram ukazuje. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> A tak se spustí jej. 1060 00:48:13,639 --> 00:48:15,430 Aktualizuje proměnnou, což je to, co vidíme, 1061 00:48:15,430 --> 00:48:21,020 V poslední části našeho serveru na Inicializace smyčky tam. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 Takže to bude jen pokračovat v tom to dokud tato podmínka není splněna, 1064 00:48:26,030 --> 00:48:28,010 a pak to bude ukončen smyčky a pokračovat 1065 00:48:28,010 --> 00:48:29,960 pohybující se zbytkem vašeho programu. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 Každý, kdo tam dobře? 1068 00:48:33,620 --> 00:48:34,440 V pohodě. 1069 00:48:34,440 --> 00:48:37,780 >> Tak tady je příklad, velmi podobné na něco, co jsem právě mluvil. 1070 00:48:37,780 --> 00:48:42,030 Tak jsme se jen chcete vytisknout To je CS50 10 krát. 1071 00:48:42,030 --> 00:48:44,540 Takže vidíte, máme tady naše pro, a pak jsme 1072 00:48:44,540 --> 00:48:47,450 inicializovat proměnnou i se rovná 0. 1073 00:48:47,450 --> 00:48:50,610 Naše podmínka je kontrola že je to méně než 10 let. 1074 00:48:50,610 --> 00:48:55,210 Tak vyhodnotit na hodnotu true, když jsme se poprvé začít, a potom aktualizuje své proměnné 1075 00:48:55,210 --> 00:48:58,985 Vždy, když ve skutečnosti provádí a vytiskne je CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 A bude ukončen po 10-krát. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 V pohodě. 1080 00:49:04,070 --> 00:49:07,130 >> Takže zatímco smyčky jsou až příště. 1081 00:49:07,130 --> 00:49:12,400 A jak vidíte tady, musíme se nějaký čas to condition-- otázka? 1082 00:49:12,400 --> 00:49:15,238 >> Diváků: Jak mohu skočit ve skutečnosti prostě není jedno číslo, 1083 00:49:15,238 --> 00:49:19,030 ale dvě čísla [neslyšitelné] i a a a? 1084 00:49:19,030 --> 00:49:23,390 >> ALLISON: Takže otázka je, jak můžete aktualizovat proměnnou o více než jeden 1085 00:49:23,390 --> 00:49:24,070 najednou. 1086 00:49:24,070 --> 00:49:26,860 Tak jsem a Plus Aktualizace jeden pokaždé. 1087 00:49:26,860 --> 00:49:32,310 Pokud byste chtěli aktualizovat jej dva, jsi to mohl udělat i a rovná 2. 1088 00:49:32,310 --> 00:49:34,526 >> ROB BOWDEN: Viděli jste a rovná se v přednášce ještě? 1089 00:49:34,526 --> 00:49:35,442 >> Diváků: [neslyšitelné]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> ALLISON: Je to skutečně totéž, jako i rovná i a 2. 1092 00:49:42,110 --> 00:49:46,130 Takže to bude trvat to a aktualizovat dvěma pokaždé. 1093 00:49:46,130 --> 00:49:49,432 Plus rovná je prostě něco říkáme Syntactic Sugar. 1094 00:49:49,432 --> 00:49:52,390 ROB BOWDEN: Jo, ty, pro existují skoro všechny aritmetické operátory. 1095 00:49:52,390 --> 00:49:55,830 Tak jsem se časy rovna by zdvojnásobit počet. 1096 00:49:55,830 --> 00:50:02,590 j předěl rovná 3 je stejný jako j se rovná j děleno 3. 1097 00:50:02,590 --> 00:50:07,399 >> ALLISON: Nebo minus rovná 2 by decrement i dva pokaždé. 1098 00:50:07,399 --> 00:50:08,565 ROB BOWDEN: I mod rovni. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 Jste ho ještě neviděli bitové operátory, ale stříška rovná a ampersand rovná, 1101 00:50:13,270 --> 00:50:14,560 všechny z těch, které existují. 1102 00:50:14,560 --> 00:50:19,480 >> ALLISON: Takže mnohokrát, a to zejména s první dvojicí P sad, 1103 00:50:19,480 --> 00:50:22,527 budete pravděpodobně zvyšování by jeden, tak jsem navíc plus, j a navíc 1104 00:50:22,527 --> 00:50:24,610 jsou všechno věci, jdeš se obvykle používají. 1105 00:50:24,610 --> 00:50:28,240 Ale to aktualizace stavu je plně ve vaší kontrolou. 1106 00:50:28,240 --> 00:50:32,310 Můžete jej aktualizovat jakýmikoli krocích nebo jakýmkoli způsobem se rozhodnete. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 Možná, že dokonce chtějí, aby to bylo náhodné číslo někdy. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 Ale ano, existuje spousta věci, které můžete dělat s tím. 1111 00:50:39,580 --> 00:50:41,280 Nejste omezen i navíc plus. 1112 00:50:41,280 --> 00:50:44,400 >> ROB BOWDEN: Jen tak vás vím, že to existuje, ale také 1113 00:50:44,400 --> 00:50:46,960 existuje v jiné formě, a navíc i. 1114 00:50:46,960 --> 00:50:51,410 Takže pokud jste někdy hledání online a náhodou vidět a navíc i, 1115 00:50:51,410 --> 00:50:52,870 do značné míry znamená totéž. 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 Dobré? 1120 00:50:56,740 --> 00:50:57,240 Úžasné. 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 Takže zatímco smyčky. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 Velmi podobné. 1125 00:51:02,570 --> 00:51:03,737 Máte nějaký stav. 1126 00:51:03,737 --> 00:51:05,820 Hlavní věc ke zprávě Zde je místo toho, aby 1127 00:51:05,820 --> 00:51:08,540 tři různé části nastavit, máme jeden. 1128 00:51:08,540 --> 00:51:11,090 Máme jen nějaké podmínky že to je zkoušen. 1129 00:51:11,090 --> 00:51:14,920 A stejným způsobem, pokud tato podmínka vyhodnocena jako true, 1130 00:51:14,920 --> 00:51:16,840 Váš kód bude běžet. 1131 00:51:16,840 --> 00:51:18,870 A jestli je to falešný, je bude ukončena, pohyb 1132 00:51:18,870 --> 00:51:21,930 na další část programu. 1133 00:51:21,930 --> 00:51:25,780 Tak to je druh like--, co je Dobrým příkladem je kontrola 1134 00:51:25,780 --> 00:51:27,215 pro některé normálním stavu? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL: je sice pravda. 1137 00:51:30,235 --> 00:51:32,110 ALLISON: Dalo by se přitom pravda dělat. 1138 00:51:32,110 --> 00:51:33,510 No, 1 je roven 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB BOWDEN: Můžete to udělat while-- jen namísto použití pro smyčce, 1141 00:51:37,642 --> 00:51:39,600 můžete vždy kód pro smyčku v cyklu while, 1142 00:51:39,600 --> 00:51:42,600 tak i větší než 0 nebo I když jsem méně než 10 let. 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> ALLISON: Úžasné. 1145 00:51:46,010 --> 00:51:50,640 A pak jsme si dělat, zatímco smyčky, která je skvělé pro ověření uživatele, kde 1146 00:51:50,640 --> 00:51:55,370 Chcete-li získat něco od Vaše uživatelské, uvidíme, jestli je to platné, 1147 00:51:55,370 --> 00:51:57,060 a pak pokračujte odtamtud. 1148 00:51:57,060 --> 00:52:04,000 Takže jedna z věcí, vědět, s dělat, když je to, že to bude provádět, 1149 00:52:04,000 --> 00:52:08,000 a pak se znovu spustit je-li tato podmínka splněna. 1150 00:52:08,000 --> 00:52:11,240 >> Takže asi nejlepší způsob, jak to udělat je prostě vidět příklad zde. 1151 00:52:11,240 --> 00:52:14,620 Tak jak jsem právě zmínil, uživatel validace je opravdu useful-- 1152 00:52:14,620 --> 00:52:17,520 nebo si chvíle jsou opravdu užitečné při ověřování uživatele. 1153 00:52:17,520 --> 00:52:19,730 Takže to je jen tak znovu vyzve nějakého uživatele 1154 00:52:19,730 --> 00:52:23,640 dokud nevstoupí kladné číslo, které by mohly být užitečné pro vaši P sadu 1155 00:52:23,640 --> 00:52:24,190 tento týden. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 A tak v tomto případě, kdy nejprve spustit tento program, 1158 00:52:29,480 --> 00:52:32,260 to bude tisknout zadejte kladné číslo. 1159 00:52:32,260 --> 00:52:34,810 Bude to mít nějaký vstup od uživatele, 1160 00:52:34,810 --> 00:52:38,320 a pak se to bude kontrolovat že vstup proti stavu 1161 00:52:38,320 --> 00:52:39,500 které jste nastavili pro něj. 1162 00:52:39,500 --> 00:52:41,030 >> Takže v tomto případě to bude kontrolovat. 1163 00:52:41,030 --> 00:52:44,190 Bude to říct, OK, je náš vstup negativní, 1164 00:52:44,190 --> 00:52:47,175 nebo je to 0 nebo negativní, která by byla neplatná. 1165 00:52:47,175 --> 00:52:48,300 Tak to by re-prompt. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 Otázka? 1168 00:52:50,780 --> 00:52:54,720 >> Diváků: Je to stejná, jako zatímco smyčce, pokud si jen zkopírovat tento kód 1169 00:52:54,720 --> 00:52:56,680 a dát to [neslyšitelné] while? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> ALLISON: Takže otázka byla by to být stejná jako jen na chvíli 1172 00:53:05,160 --> 00:53:08,570 loop kdybychom jen zkopírujte while výše. 1173 00:53:08,570 --> 00:53:12,440 Takže v tomto případě, váš čas je smyčka bude nejprve zkontrolujte stav. 1174 00:53:12,440 --> 00:53:15,300 Takže v tomto případě, pokud jsme se snažili psát jen jako while, 1175 00:53:15,300 --> 00:53:18,010 to bych chvíli vstup je menší než jedna. 1176 00:53:18,010 --> 00:53:20,801 Ale nemají vstup pro něj. 1177 00:53:20,801 --> 00:53:24,238 >> Diváků: Máte-li [neslyšitelné] while včetně tohoto kódu, 1178 00:53:24,238 --> 00:53:28,166 ale pak zvládl kód nad while také. 1179 00:53:28,166 --> 00:53:31,052 Právě jste měli tento kód [Neslyšitelné] while. 1180 00:53:31,052 --> 00:53:32,760 ALLISON: Bylo by totéž, ano. 1181 00:53:32,760 --> 00:53:37,110 Takže byste mohli jen write-- místo toho, do-- ano. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL: Ale to je více elegantní. 1184 00:53:39,350 --> 00:53:41,020 ALLISON: Jo, to je více elegantní. 1185 00:53:41,020 --> 00:53:44,560 Můžete se dostat do designu a kdoví co ještě, ale ano, můžete úplně udělat. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 Nějaké další otázky? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 OK, v pohodě. 1190 00:53:50,250 --> 00:53:55,540 >> Takže jsme mluvili hodně o podmínkách všech těchto smyček, které máme, 1191 00:53:55,540 --> 00:53:58,615 takže jsme vlastně dostal do podmínky booleovských výrazů. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 Opět platí, že použití těchto v jazyce C, tak jen tak přecházet 1194 00:54:03,440 --> 00:54:06,050 z více grafického rozhraní skutečně kódování. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> Cool, tak velký, pokud. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 V podstatě jen nám umožňuje zavést určitou logiku do našeho programu a kontrola 1199 00:54:17,070 --> 00:54:17,790 sys podmínky. 1200 00:54:17,790 --> 00:54:22,150 Takže v tomto případě, OK, n je větší než 0? 1201 00:54:22,150 --> 00:54:24,070 Ano, to je, takže můžete spustit to. 1202 00:54:24,070 --> 00:54:28,060 Je to jen kontrolovat některé podmínka, že jste 1203 00:54:28,060 --> 00:54:33,565 nastavení, což myslím, že jsme všichni pohodlné s kontrolou podmínek. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 V pohodě. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 Takže pokud ještě je váš druhý, můžete říct, OK, pokud je to pravda, 1208 00:54:44,530 --> 00:54:46,150 udělat první věc. 1209 00:54:46,150 --> 00:54:48,720 Jinak chci, abyste Výchozí a dělat něco jiného. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 Stejně jako v tomto případě, můžete buď vybrat kladné číslo nebo záporné číslo. 1212 00:54:55,060 --> 00:54:56,500 Máte jen dvě možnosti. 1213 00:54:56,500 --> 00:54:59,550 Musíte to provést bez ohledu na O tom, co vaše uživatelské vstupy. 1214 00:54:59,550 --> 00:55:02,920 Takže můžete říct, dobře, to je větší než 0? 1215 00:55:02,920 --> 00:55:03,480 V pohodě. 1216 00:55:03,480 --> 00:55:04,480 Vytisknout kladné číslo. 1217 00:55:04,480 --> 00:55:06,153 Pokud tomu tak není, vytiskněte negativní. 1218 00:55:06,153 --> 00:55:06,960 Každý dobrý? 1219 00:55:06,960 --> 00:55:14,920 >> A pak jedna věc, rozpoznat je že pokud je splněna, jestliže podmínka, 1220 00:55:14,920 --> 00:55:16,650 jinak se nikdy také spustit. 1221 00:55:16,650 --> 00:55:19,210 Pouze jeden z nich bude provést najednou. 1222 00:55:19,210 --> 00:55:20,410 Takže je to kompromis. 1223 00:55:20,410 --> 00:55:21,720 Nemusíte dostat mít obojí. 1224 00:55:21,720 --> 00:55:23,566 Můžete mít buď první podmínku. 1225 00:55:23,566 --> 00:55:25,440 Buď máte, pokud nebo jinak, ne obojí. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 Které pak mohou dělat věci ještě složitější, 1228 00:55:28,890 --> 00:55:31,060 protože pokud můžete udělat, jinde to, a pak ostatní. 1229 00:55:31,060 --> 00:55:32,810 Takže v tomto případě jsme mají tři podmínky. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 A opět, pouze jeden z nich je skončí popraven. 1232 00:55:38,370 --> 00:55:41,030 Takže můžete se ptát, No, co když vás 1233 00:55:41,030 --> 00:55:45,510 něco, co může splnit dva z nich. 1234 00:55:45,510 --> 00:55:49,520 Možná, že cokoliv, co zadání splňuje i podmínku 1235 00:55:49,520 --> 00:55:51,811 protože pokud a else if. 1236 00:55:51,811 --> 00:55:53,060 Jediná věc, která se děje na běh 1237 00:55:53,060 --> 00:55:56,240 >> ALLISON: Jakmile se najde něco, co že splňuje podmínky pro to 1238 00:55:56,240 --> 00:55:59,790 vyhodnotí jako pravda, to je to, co to bude běžet a nic jiného. 1239 00:55:59,790 --> 00:56:04,440 Takže pokud jste měli, je toto číslo mezi 0 a 5 pro první, 1240 00:56:04,440 --> 00:56:10,530 nebo je to číslo mezi 3 a 5 pro else if část, 1241 00:56:10,530 --> 00:56:15,550 a zadáte number-- Řekl jsem 0 a 5 a- 4. 1242 00:56:15,550 --> 00:56:18,110 Bude to hit první. 1243 00:56:18,110 --> 00:56:20,960 Je to řekne OK, toto číslo mezi 0 a 5. 1244 00:56:20,960 --> 00:56:22,480 Provádění a odejít. 1245 00:56:22,480 --> 00:56:25,340 To se nikdy zasáhnout, že druhou možnost. 1246 00:56:25,340 --> 00:56:26,394 V pohodě? 1247 00:56:26,394 --> 00:56:27,250 Úžasné. 1248 00:56:27,250 --> 00:56:31,300 >> OK máme také prohlášení přepínač pokud, Chcete-li získat ještě more-- nebo líto, 1249 00:56:31,300 --> 00:56:31,965 Spínač se nachází hned vedle. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 Jsem předbíhám zde. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 Opět platí, že v případě více bloků kde, jak jsem právě řekl, 1254 00:56:39,210 --> 00:56:45,600 je, jakmile zjistíte stav že je splněna i v případě, else if jiný, 1255 00:56:45,600 --> 00:56:46,630 opustí. 1256 00:56:46,630 --> 00:56:49,560 Pokud potřebujete zkontrolovat více věci, ty jsi 1257 00:56:49,560 --> 00:56:53,000 bude chtít používat to, protože bude kontrolovat pokaždé zde. 1258 00:56:53,000 --> 00:56:58,060 Takže to bude projít, a pokud je větší než nebo rovna 90 ° C, 1259 00:56:58,060 --> 00:56:59,160 to bude tisknout to. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 A poběží až do konce a zkontrolovat každý jeden z nich. 1262 00:57:03,600 --> 00:57:06,444 >> Diváků: Takže by to bylo více buggy než [neslyšitelné]. 1263 00:57:06,444 --> 00:57:07,735 Bylo by to jako [neslyšitelné]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> ALLISON: otázka by to bylo buggy, nebo to, co chcete. 1266 00:57:15,740 --> 00:57:19,830 To opravdu záleží na tom, co Chcete ze svého programu. 1267 00:57:19,830 --> 00:57:22,291 >> Diváků: Myslím, jako když dáte 90 palců 1268 00:57:22,291 --> 00:57:23,290 ALLISON: Pokud dáte 90-- 1269 00:57:23,290 --> 00:57:24,206 Diváků: [neslyšitelné]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL: Budeš mít dvě věci. 1272 00:57:27,250 --> 00:57:28,916 ALLISON: Budeš mít dvě věci. 1273 00:57:28,916 --> 00:57:29,420 Ano, dvě. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB BOWDEN: Two? 1276 00:57:33,920 --> 00:57:34,580 >> ALLISON: Ne 1277 00:57:34,580 --> 00:57:35,288 >> ROB BOWDEN: Čtyři. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 Vložíte-li 90, bude to říkáte dostal A, máš B, máš C, 1280 00:57:40,070 --> 00:57:40,545 máš D. 1281 00:57:40,545 --> 00:57:41,461 >> Diváků: [neslyšitelné]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 ALLISON: Správně. 1284 00:57:42,820 --> 00:57:44,778 Tak jsem je závislá na tom, co chci od vás programu. 1285 00:57:44,778 --> 00:57:47,050 Někdy je třeba zkontrolovat více věcí. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 Získáte mnohem hlouběji do toho, co Dobrý design je jak jít kupředu. 1288 00:57:55,270 --> 00:57:57,090 Je důležité si si uvědomit, že tato 1289 00:57:57,090 --> 00:58:01,090 bude kontrolovat zde všechny čtyři podmínky. 1290 00:58:01,090 --> 00:58:05,860 Vzhledem k tomu, kdyby to bylo v případě, else if jiný pokud jiný by to hit, že první věc, 1291 00:58:05,860 --> 00:58:07,950 že by vytisknout jste se dostali k A a hotovo. 1292 00:58:07,950 --> 00:58:10,250 >> ROB BOWDEN: i když jsme rozhodla změnit to, zda 1293 00:58:10,250 --> 00:58:13,880 a větší než nebo rovna 90 ° C, pokud a větší nebo rovno 80 ° C, 1294 00:58:13,880 --> 00:58:19,710 a menší než nebo rovna 89, pokud n větší než nebo rovna 70 ° C, 1295 00:58:19,710 --> 00:58:23,830 a n menší nebo rovno 79, takže bude správné. 1296 00:58:23,830 --> 00:58:27,190 To bude dělat to, co chceme, ale stále kontroluje každý to. 1297 00:58:27,190 --> 00:58:34,050 >> Takže zatímco v prvním případě, pokud bychom zadejte 90 se jen v případě, else if else if, 1298 00:58:34,050 --> 00:58:37,300 a zadáme 90, pak bude to napravit. 1299 00:58:37,300 --> 00:58:39,615 To bude kontrolovat první jeden, tisk máš s A, 1300 00:58:39,615 --> 00:58:42,590 přeskočit všechno, protože to již našel jeden, který funguje. 1301 00:58:42,590 --> 00:58:46,360 Všechny případy se vzájemně vylučují na základě pokud else if else if. 1302 00:58:46,360 --> 00:58:48,630 Takže to bude provádět první, pokud, pak je to hotovo. 1303 00:58:48,630 --> 00:58:49,790 Půjde až do konce. 1304 00:58:49,790 --> 00:58:52,400 >> Vzhledem k tomu, pokud změníme to být tím, čím jsem byl 1305 00:58:52,400 --> 00:58:54,204 říká s méně než nebo rovno 89. 1306 00:58:54,204 --> 00:58:55,620 Bude to zkontrolovat první. 1307 00:58:55,620 --> 00:58:56,560 To bude tisknout. 1308 00:58:56,560 --> 00:58:58,010 To bude kontrolovat ten druhý. 1309 00:58:58,010 --> 00:58:59,010 To nebude tisknout. 1310 00:58:59,010 --> 00:58:59,910 Zkontrolujte, zda třetí. 1311 00:58:59,910 --> 00:59:00,620 Nebude tisknout. 1312 00:59:00,620 --> 00:59:01,495 Zkontrolujte, zda čtvrtý. 1313 00:59:01,495 --> 00:59:02,420 Teď jde do tisku. 1314 00:59:02,420 --> 00:59:05,380 Takže v tomto případě, pokud jiný verze, protože tyto případy 1315 00:59:05,380 --> 00:59:09,120 se vzájemně vylučují, je to lepší využití, pokud else if else if, 1316 00:59:09,120 --> 00:59:12,970 protože to bude mít méně kontroly podmínek 1317 00:59:12,970 --> 00:59:14,750 než tato verze. 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 ALLISON: Úžasné. 1320 00:59:18,400 --> 00:59:20,580 Takže další věc, kterou můžeme udělat, je prohlášení spínač. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 V podstatě switch se v některých proměnné, 1323 00:59:25,270 --> 00:59:28,780 V tomto případě je to n, a určuje, který případ spustit. 1324 00:59:28,780 --> 00:59:33,106 Takže to je také jeden, kde se vaše případy by měl být druh vzájemně vylučují. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 Takže v tomto případě, je-li my jsme si jeden, je to 1327 00:59:37,940 --> 00:59:42,270 bude odpovídat co to proměnná-- bez ohledu na hodnotu n 1328 00:59:42,270 --> 00:59:48,700 je na jednom z těchto případů, tak 1, 2, nebo 3, a vytisknout odpovídající řádek. 1329 00:59:48,700 --> 00:59:51,870 >> A pak, pokud si všimnete, tady, máme také výchozí, 1330 00:59:51,870 --> 00:59:54,670 které si můžete z myslet jako váš jiného. 1331 00:59:54,670 --> 00:59:58,510 Takže pokud si vyberete jiné číslo kromě 1, 2, a 3, v tomto případě 1332 00:59:58,510 --> 00:59:59,885 je to jen bude tisknout neplatné. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 Rozhodování o tom, kdy použít IFS srovnání pokud elses proti spínače se děje 1335 01:00:08,390 --> 01:00:12,590 jako něco, co vy bude viz navrhnout moudrý, jak začnete psát 1336 01:00:12,590 --> 01:00:15,270 složitější programy, a tam žádná tvrdá a rychlá pravidla 1337 01:00:15,270 --> 01:00:16,330 kdy je použít. 1338 01:00:16,330 --> 01:00:17,890 To opravdu záleží na vašem kontextu. 1339 01:00:17,890 --> 01:00:18,590 >> ROB BOWDEN: A právě hodit to tam 1340 01:00:18,590 --> 01:00:20,131 protože to je mnohem pohodlnější část. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 Spínače, mají tendenci be-- takže máte omezený 1343 01:00:25,053 --> 01:00:27,430 V mnoha ohledech si je použít, protože IFS, 1344 01:00:27,430 --> 01:00:30,100 stav může být docela cokoliv budete chtít. 1345 01:00:30,100 --> 01:00:33,410 S přepíná případy musí být čísla, 1346 01:00:33,410 --> 01:00:37,770 nebo technicky mohou být znaky, ale znaky, jak uvidíme, jsou jen čísla. 1347 01:00:37,770 --> 01:00:44,250 Takže musí být čísla, ale přepínače jsou opravdu účinnější než v případě 1348 01:00:44,250 --> 01:00:50,060 else if else if, protože i na příkladu before-- dobře, 1349 01:00:50,060 --> 01:00:51,486 Příkladem stupeň se zdá být dobré. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> No řekněme, že tady máme místo toho dělat to jak v případě, else if else if scénář. 1352 01:00:57,080 --> 01:01:00,930 Takže pokud n se rovná rovná se 1, vytiskněte si vybral nízký počet. 1353 01:01:00,930 --> 01:01:04,490 V případě jiného, ​​pokud je n rovno rovná 2, si vybral střední číslo. 1354 01:01:04,490 --> 01:01:06,550 Else if rovná se rovná 3, vysokým. 1355 01:01:06,550 --> 01:01:08,060 Else neplatné. 1356 01:01:08,060 --> 01:01:09,820 >> Takže řekněme, že byl náš scénář. 1357 01:01:09,820 --> 01:01:14,060 Takže řekněme, že zadáme 4, tak očekáváme, že neplatné. 1358 01:01:14,060 --> 01:01:17,410 Tak, že pokud else if jiný -li přístup bude fungovat, je 1359 01:01:17,410 --> 01:01:18,740 kontroluje první podmínku. 1360 01:01:18,740 --> 01:01:19,776 Není spokojen. 1361 01:01:19,776 --> 01:01:21,150 Tak jsme zkontrolovat druhou podmínku. 1362 01:01:21,150 --> 01:01:21,940 Není spokojen. 1363 01:01:21,940 --> 01:01:23,023 Zkontrolujte, zda třetí podmínku. 1364 01:01:23,023 --> 01:01:23,640 Není splněna. 1365 01:01:23,640 --> 01:01:26,650 Tak jsme se jít do jiného a vytisknout neplatné. 1366 01:01:26,650 --> 01:01:30,169 >> Způsob, jakým se spínací práce je to překládá dolů 1367 01:01:30,169 --> 01:01:31,960 na to, co budeme zavolat skok tabulky. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 Hlavní myšlenka je že pokud zadáte 4, 1370 01:01:37,120 --> 01:01:39,090 může jít ihned na výchozí hodnoty. 1371 01:01:39,090 --> 01:01:41,460 Není třeba kontrolovat jsem případ 1? 1372 01:01:41,460 --> 01:01:42,350 Ne, že to není ono. 1373 01:01:42,350 --> 01:01:42,850 Případ 2? 1374 01:01:42,850 --> 01:01:43,240 Ne. 1375 01:01:43,240 --> 01:01:43,770 Případ 3? 1376 01:01:43,770 --> 01:01:44,270 Ne. 1377 01:01:44,270 --> 01:01:45,090 Default. 1378 01:01:45,090 --> 01:01:47,610 OK, to musí být tam, kde jsem chtějí, a pak spustit to. 1379 01:01:47,610 --> 01:01:49,590 Ne, to okamžitě skočí na výchozí hodnoty. 1380 01:01:49,590 --> 01:01:51,900 Nebo to zadám 2, je to okamžitě jít na 2 1381 01:01:51,900 --> 01:01:54,060 aniž by bylo nutné projít případě 1. 1382 01:01:54,060 --> 01:01:57,820 >> Takže tímto způsobem, realisticky, že dnes je 1383 01:01:57,820 --> 01:02:00,250 Není to moc nárůstu efektivnosti. 1384 01:02:00,250 --> 01:02:02,880 Obvykle počítače jsou dost rychle, a to není tak velký. 1385 01:02:02,880 --> 01:02:07,270 Ale je pravda, že přepínače jsou rychlejší. 1386 01:02:07,270 --> 01:02:10,380 Pokud jste opravdu snaží optimalizovat, použít přepínač. 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 A pak máme ternární operátor. 1390 01:02:15,270 --> 01:02:19,470 Takže vím, že jsem se zmínil dříve, slovo syntaktický cukr. 1391 01:02:19,470 --> 01:02:24,160 Takže je to jen věci, které kód mnohem výstižnější. 1392 01:02:24,160 --> 01:02:25,590 Tak tohle je jeden z těch případů. 1393 01:02:25,590 --> 01:02:31,430 >> Takže ternární operátor je otazník tlustého střeva, jak vidíme v řádku řetězci 1394 01:02:31,430 --> 01:02:35,810 s se rovná n větší než 100 otazník vysoká tlustého střeva nízká. 1395 01:02:35,810 --> 01:02:41,800 Takže v podstatě, jak to funguje, je to n větší než 100, je podmínkou. 1396 01:02:41,800 --> 01:02:43,674 Takže myslím, že to může mít smysl. 1397 01:02:43,674 --> 01:02:44,840 Je to jako ptát otázku. 1398 01:02:44,840 --> 01:02:47,320 To říká oh, je n větší než 100. 1399 01:02:47,320 --> 01:02:48,340 Kdo ví? 1400 01:02:48,340 --> 01:02:50,750 A pokud to vyhodnotí jako pravda, že to bude tak, aby vám 1401 01:02:50,750 --> 01:02:54,270 První věc, která je v něm uvedeny, což je vysoká. 1402 01:02:54,270 --> 01:02:55,840 V opačném případě to bude, aby vám nízký. 1403 01:02:55,840 --> 01:03:01,210 Takže je to jen opravdu jednoduchá a účinný způsob, jak to udělat, jako v případě jiného. 1404 01:03:01,210 --> 01:03:02,780 To je vše, to je. 1405 01:03:02,780 --> 01:03:07,450 >> A pokud bychom měli napsat, jako v případě jiného podmíněné, 1406 01:03:07,450 --> 01:03:12,480 by bylo, kdyby n je větší než 100, vrátí vysoká. 1407 01:03:12,480 --> 01:03:14,220 Jinak vrátí nízká. 1408 01:03:14,220 --> 01:03:17,570 To je jen mnohem stručné způsob psaní. 1409 01:03:17,570 --> 01:03:27,090 >> ROB BOWDEN: Takže tento konkrétní příklad je vždy, když děláte něco, co 1410 01:03:27,090 --> 01:03:30,190 jako je toto, je vzor kde se používá ternární velmi často. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 Takže jsme nemluvili o objemu ještě, ale já nesnáším vidět řetězci s středník. 1413 01:03:35,460 --> 01:03:39,150 Je-li n větší než 100, s se rovná vysoké. 1414 01:03:39,150 --> 01:03:40,660 Jinak, s rovná nízká. 1415 01:03:40,660 --> 01:03:45,070 Tak, že vzorek, těch pět řádků kódu doslova 100% času 1416 01:03:45,070 --> 01:03:49,800 mohou být přeneseny do co Byl tam s trojice. 1417 01:03:49,800 --> 01:03:52,340 Takže trojice, jeden řádek kódu. 1418 01:03:52,340 --> 01:03:54,640 Pokud jiný, pět. 1419 01:03:54,640 --> 01:03:56,910 To je příklad I bodu z každého okamžiku. 1420 01:03:56,910 --> 01:03:59,250 To by skvělé místo pro ternární operátor. 1421 01:03:59,250 --> 01:04:00,647 Je to tak čisté. 1422 01:04:00,647 --> 01:04:01,980 Ale lidé mají tendenci nikdy použít. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> ALLISON: Dej to pryč Gabe. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: Tak teď vy všichni získané v přednášce tento týden 1426 01:04:11,110 --> 01:04:13,420 že je vše v Počítač je binární, že jo? 1427 01:04:13,420 --> 01:04:14,570 Stejně jako lampy zde. 1428 01:04:14,570 --> 01:04:16,492 Můžete buď zapnout nebo vypnout. 1429 01:04:16,492 --> 01:04:18,450 A všechno, mám na mysli doslova všechno. 1430 01:04:18,450 --> 01:04:24,272 Některá čísla a znaky a řetězce, a dokonce i kód, který píšete, když 1431 01:04:24,272 --> 01:04:26,480 se dostane sestaveny tak, aby stroj kód a podobné věci, 1432 01:04:26,480 --> 01:04:29,230 tak to všechno se scvrkává na 0 a 1 ". 1433 01:04:29,230 --> 01:04:34,540 >> A tak, když máme co do činění s celými čísly, která 1434 01:04:34,540 --> 01:04:38,000 je něco, co je technicky velmi jednoduché, měli bychom být schopni dělat věci, 1435 01:04:38,000 --> 01:04:40,630 jako jejich přidání, které je Pravděpodobně jeden z nejjednodušších věcí, 1436 01:04:40,630 --> 01:04:42,300 můžete dělat dvě celá čísla, že? 1437 01:04:42,300 --> 01:04:47,410 Takže sčítání a odčítání funguje stejně jako to funguje v desítkové, 1438 01:04:47,410 --> 01:04:50,780 kromě tady je to binární, že jo? 1439 01:04:50,780 --> 01:04:52,090 Takže je to v základu dvě. 1440 01:04:52,090 --> 01:04:54,070 Takže přidat 1 + 1. 1441 01:04:54,070 --> 01:04:57,020 To jsme našli 0 a 1 se přenáší. 1442 01:04:57,020 --> 01:05:01,335 A jen pokračovat v tom, že, Takže teď je zajímavější otázka. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> Víme, jak reprezentovat všechny pozitivní celá čísla v počítači, 1445 01:05:07,710 --> 01:05:09,870 ale udělejme to cvičení. 1446 01:05:09,870 --> 01:05:15,240 Předstírat, že vy jste všichni v roce 1960 nebo něco, co se snaží vytvořit počítač, 1447 01:05:15,240 --> 01:05:19,950 a budete muset přijít na způsob ukládání minus 1, 1448 01:05:19,950 --> 01:05:22,554 například, nebo minus číslo na to přijde. 1449 01:05:22,554 --> 01:05:23,470 Jak byste to udělal? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 Nějaké nápady? 1452 01:05:29,220 --> 01:05:31,302 Stačí hodit něco na mě. 1453 01:05:31,302 --> 01:05:32,264 Ano? 1454 01:05:32,264 --> 01:05:39,480 >> Diváků: [neslyšitelné] určí zvláštní, pokud váš [neslyšitelné]. 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL: Můžete určit, speciální bit, který bude 0 nebo 1. 1456 01:05:42,590 --> 01:05:45,590 Řekněme, že jeden, pokud je to pozitivní a 0, pokud je to negativní. 1457 01:05:45,590 --> 01:05:48,171 A pak zbytek bitu právě k uložení čísla. 1458 01:05:48,171 --> 01:05:48,670 V pohodě. 1459 01:05:48,670 --> 01:05:49,990 Tak to je velmi dobrý nápad. 1460 01:05:49,990 --> 01:05:51,550 Máme, já nevím, 200. 1461 01:05:51,550 --> 01:05:54,720 A v případě, že první bit je zapnutý, pak je to navíc 200. 1462 01:05:54,720 --> 01:05:57,270 Pokud je to vypnutý, to je minus 200. 1463 01:05:57,270 --> 01:05:58,380 V pohodě. 1464 01:05:58,380 --> 01:06:01,350 >> Je tu jen jeden malý Problém s tímto, 1465 01:06:01,350 --> 01:06:05,370 který je, pokud se snažíme shrnout věci. 1466 01:06:05,370 --> 01:06:18,910 Tak si představte máme 11111 tady, a jsme jako součet to s 00100 cokoliv. 1467 01:06:18,910 --> 01:06:21,630 Pokud ti dva jsou pozitivní, to je v pořádku. 1468 01:06:21,630 --> 01:06:24,470 Ale pak, pokud jeden z nimi je negativní, stejně jako 1469 01:06:24,470 --> 01:06:27,410 řekněme, že tento bit zde je ten, který je zodpovědný 1470 01:06:27,410 --> 01:06:31,390 for-- budu dělat separate-- tak to znamená, že jeden toto číslo zde 1471 01:06:31,390 --> 01:06:31,970 je pozitivní. 1472 01:06:31,970 --> 01:06:34,450 To znamená, že tato jedna Číslo které zde je záporná, je to tak? 1473 01:06:34,450 --> 01:06:37,010 >> Ale pak, když jste bude jim řečeno, vy 1474 01:06:37,010 --> 01:06:40,180 Potřebujete if říká, oh, pokud je to 0, 1475 01:06:40,180 --> 01:06:43,479 pak můj částka bude něco jiného, ​​ne? 1476 01:06:43,479 --> 01:06:45,270 Takže tam je trochu více chytrý způsob, jak to udělat 1477 01:06:45,270 --> 01:06:48,520 To, co se nazývá dvojkový doplněk. 1478 01:06:48,520 --> 01:06:52,350 Takže v podstatě to, co jsme udělat, je definujeme minus 1 1479 01:06:52,350 --> 01:06:57,250 být věc, která v případě sečteme 1 dává nám 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 Dovolte mi to zopakovat. 1482 01:07:00,860 --> 01:07:03,280 Takže řekněme, že tohle je 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 Co je to, co přirozeně v přirozených čísel 1485 01:07:13,570 --> 01:07:15,570 přičíst k nám 0 dává? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 Co když se snažíme přidat do tohoto čísla? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 Budeme have-- OK, tak se pojďme přidat. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 Budeme mít 1 + 1 0, a pak se to přenáší. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 A pak budeme mít opět 0. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 Začínám zmatený. 1496 01:07:48,820 --> 01:07:51,670 A budete mít 0 a 0 a 0, a 0, a 0 a 0. 1497 01:07:51,670 --> 01:07:52,450 Spousta 0 let. 1498 01:07:52,450 --> 01:07:56,240 >> Na poslední jeden, nejsme bude schopen provádět ji, 1499 01:07:56,240 --> 01:07:59,614 protože řekněme, že máme pouze jednání s jedním bytem, ​​tak jen 8 bitů. 1500 01:07:59,614 --> 01:08:02,780 Takže to, co počítač dělá standardně je prostě zapomene, že [neslyšitelné] 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 Tak tohle je to, co se nazývá dvojkového doplňku. 1504 01:08:06,880 --> 01:08:15,180 Prostě jsme definovat minus 1, musí být věc tady, že pokud přidáte, že na 1 1505 01:08:15,180 --> 01:08:15,995 by vám 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 A to je docela v pohodě protože my opravdu 1508 01:08:20,180 --> 01:08:24,090 Potřebujete pozdě realizovat jiný typ součtu 1509 01:08:24,090 --> 01:08:26,590 v závislosti na tom, zda je to negativní nebo kladné číslo. 1510 01:08:26,590 --> 01:08:27,465 Dává to smysl? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> Takže jedna věc, kterou děláme zde za účelem přeměny 1513 01:08:32,370 --> 01:08:38,550 mezi pozitivní a negativní číslo se pak otočit všechno, 1514 01:08:38,550 --> 01:08:40,930 a pak přidáme 1 na toto číslo. 1515 01:08:40,930 --> 01:08:43,140 Pokud se pokusíte udělat sami na kus papíru, 1516 01:08:43,140 --> 01:08:44,681 budete vidět, že to dává smysl. 1517 01:08:44,681 --> 01:08:51,000 Ale když si vezmu toto číslo zde, to je pět. 1518 01:08:51,000 --> 01:08:54,859 Takže když jsem fanda vše zde, tak 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 pak jsem přidat 1 k němu. 1522 01:09:00,130 --> 01:09:02,750 Budu mít přesně minus 5. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> Tento druh dává smysl, protože pokud se pokusíte sečíst to s číslem 1525 01:09:06,220 --> 01:09:10,229 že jsme měli předtím, což was-- pojďme otočit to znovu. 1526 01:09:10,229 --> 01:09:12,999 Bylo to 101 a spousta 0 let. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 Pokud se pokusíte přidat tyto dvě čísla dohromady, 1529 01:09:15,670 --> 01:09:16,961 budete mít přesně 0. 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 OK. 1532 01:09:19,460 --> 01:09:19,884 Nějaké otázky? 1533 01:09:19,884 --> 01:09:20,759 >> Diváků: [neslyšitelné] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL: Co tím myslíš? 1536 01:09:27,280 --> 01:09:29,240 >> Diváků: negativní Pozitivní [neslyšitelné]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: Ne, otočit a přidáte 1 vždy. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 Jo. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 OK, takže znaky kódovány binárky. 1542 01:09:39,680 --> 01:09:42,649 Máme ASCII tabulku, jako vy také viděl v přednášce, že jo? 1543 01:09:42,649 --> 01:09:45,040 Takže je to v podstatě mapování věcí. 1544 01:09:45,040 --> 01:09:50,960 A tady nemohu dostatečně zdůraznit, že počítač, a 65 1545 01:09:50,960 --> 01:09:52,770 jsou doslova totéž. 1546 01:09:52,770 --> 01:10:03,430 Takže když jsem se napsat něco jako char c rovná, mohl bych zároveň 1547 01:10:03,430 --> 01:10:06,890 stačí napsat 65 tady, a to by být přesně stejný, OK? 1548 01:10:06,890 --> 01:10:08,470 Neexistuje žádný rozdíl vůbec. 1549 01:10:08,470 --> 01:10:12,420 >> Obvykle mají tendenci dát znaky v proměnné typu. 1550 01:10:12,420 --> 01:10:16,770 Char, ne proto, že jsou v podstatě stanovena, ale proto, že 1551 01:10:16,770 --> 01:10:18,050 lidské konvence. 1552 01:10:18,050 --> 01:10:22,410 Ale můžete jen řešení s celými čísly místo proměnné typu char, 1553 01:10:22,410 --> 01:10:23,490 a budete v pohodě. 1554 01:10:23,490 --> 01:10:28,410 Jediný skutečný rozdíl mezi char c, int i 1555 01:10:28,410 --> 01:10:31,960 je to, že int má čtyři byty ve většině systémy, zatímco char má jeden bajt. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 Jsou to v podstatě totéž co se týče dat. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 Takže to, co se bude tisknout tady? 1560 01:10:37,990 --> 01:10:43,780 Zde tisknete číslici pomocí printf se znaménkem plus 1, a stejně jako celá čísla, 1561 01:10:43,780 --> 01:10:46,240 znaky lze shrnout, tak znaky mohou být sečteny. 1562 01:10:46,240 --> 01:10:47,890 Tak to je přesně 65. 1563 01:10:47,890 --> 01:10:49,950 Takže tam to bude 66, a zde máme 1564 01:10:49,950 --> 01:10:56,860 65 a trochu minus velký, která bude, já opravdu nevím. 1565 01:10:56,860 --> 01:11:00,900 Ale to bude přesně mezera Mezi velkými písmeny 1566 01:11:00,900 --> 01:11:07,800 a a menší písmena, takže budeme mít malý, že jo? 1567 01:11:07,800 --> 01:11:08,300 Jo. 1568 01:11:08,300 --> 01:11:11,740 Takže to bude tisknout charakter, který je přesně tohle. 1569 01:11:11,740 --> 01:11:12,260 Dobré? 1570 01:11:12,260 --> 01:11:12,860 Nějaké otázky? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> Zde máme spoustu různých typy pro numerické proměnné. 1573 01:11:19,430 --> 01:11:20,620 Už mluvíme o int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float je jen způsob, jak to-- je to opravdu legrační, protože když jsem se poprvé dozvěděl, 1576 01:11:27,760 --> 01:11:32,320 naprogramovat zpět v den s Python, první program, co jsem kdy 1577 01:11:32,320 --> 01:11:37,480 se snažil psát, viděl jsem, že to tam bylo Typ zavolal a typ nazvaný plavat. 1578 01:11:37,480 --> 01:11:39,800 A plovák byl pro všechna reálná čísla. 1579 01:11:39,800 --> 01:11:43,290 Tak jsem se zeptal, proč by se Co jsem kdy použít int pak? 1580 01:11:43,290 --> 01:11:45,590 Vzhledem k tomu, jestli můžu používat všechny reálná čísla s plovákem, 1581 01:11:45,590 --> 01:11:47,120 Jen bych přestat používat celých čísel, je to tak? 1582 01:11:47,120 --> 01:11:49,550 Protože reálná čísla jsou stejně jako obecnější. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> Ukazuje se, že je to není tomu tak v oblasti počítačů 1585 01:11:54,060 --> 01:11:58,480 proto, že jsou v podstatě různé věci. 1586 01:11:58,480 --> 01:12:01,470 Takže celá čísla a plováky, operace, které můžete udělat, aby se jim 1587 01:12:01,470 --> 01:12:04,739 jsou v podstatě odlišné, protože způsobu, jakým jsou uloženy, OK? 1588 01:12:04,739 --> 01:12:07,280 Budeme mluvit trochu něco víc o tom, že v druhém. 1589 01:12:07,280 --> 01:12:09,110 >> Takže double je jen větší float. 1590 01:12:09,110 --> 01:12:12,830 Obvykle ve většině systémů, plovák jsou čtyři byty, stejně jako int. 1591 01:12:12,830 --> 01:12:15,440 A double je osm bajtů. 1592 01:12:15,440 --> 01:12:21,450 Long long je vlastně jen symbol který připojíte k typu, jako je int. 1593 01:12:21,450 --> 01:12:24,040 Říkáte, že long long int takhle. 1594 01:12:24,040 --> 01:12:28,550 Long long int x, aby to déle. 1595 01:12:28,550 --> 01:12:32,310 Takže ve většině systémů, které umožní osm bajtů namísto obvyklých čtyř. 1596 01:12:32,310 --> 01:12:35,620 A můžete skutečně klesnout in, tak to může jen říct, long long, 1597 01:12:35,620 --> 01:12:37,240 a že pracuje příliš, OK? 1598 01:12:37,240 --> 01:12:42,850 Můžete si také dělat jiné věci, jako je unsigned int, nebo opět jen unsigned 1599 01:12:42,850 --> 01:12:43,680 by také fungovat. 1600 01:12:43,680 --> 01:12:49,370 A že by x být proměnná jako vše je pozitivní, 1601 01:12:49,370 --> 01:12:53,231 takže si můžete opravdu mít negativní čísla tak, že jsme se sem viděl up. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 Takže po nádherné plovoucí desetinnou čárkou a přesnost. 1604 01:12:58,650 --> 01:13:01,890 To je jeden z důvodů, proč tě chcete použít celých čísel místo plováků, 1605 01:13:01,890 --> 01:13:04,370 protože ints jsou 100% přesné, že jo? 1606 01:13:04,370 --> 01:13:06,170 Je to přesně to číslo. 1607 01:13:06,170 --> 01:13:11,910 Pro plovoucí body, pokud máte říci, odpověď se rovná 1 nad 10-- 1608 01:13:11,910 --> 01:13:14,690 I stalo se, že to přesně Program zde float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 Která tiskne na 20 desetinných míst. 1611 01:13:19,420 --> 01:13:23,270 1 děleno 10, a že Obvykle je 0,1, ne? 1612 01:13:23,270 --> 01:13:27,910 Ale tady pokud uděláme plavat a pak jej spustit, 1613 01:13:27,910 --> 01:13:30,320 vidíme, že je to přesně 0,1 ne. 1614 01:13:30,320 --> 01:13:33,570 Je to 0,149 něco. 1615 01:13:33,570 --> 01:13:35,570 >> A proč je tomu tak? 1616 01:13:35,570 --> 01:13:40,390 Protože nemůžete skutečně reprezentovat každý jediné možné reálné číslo v paměti 1617 01:13:40,390 --> 01:13:42,730 proto, že tam jsou uncountably mnoho z nich. 1618 01:13:42,730 --> 01:13:48,360 Takže jsme technicky schopni pouze představují omezené množství z nich 1619 01:13:48,360 --> 01:13:50,470 s konečným množstvím dat. 1620 01:13:50,470 --> 01:13:52,050 Ale je to opravdu zajímavé. 1621 01:13:52,050 --> 01:13:54,920 Teď to prosí otázka, jak byste 1622 01:13:54,920 --> 01:13:59,299 jít o zastupování to s kousky, že jo? 1623 01:13:59,299 --> 01:14:00,340 Tak, jak se plave uloženy? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 S celými čísly to bylo snadné. 1626 01:14:03,730 --> 01:14:06,690 Ale s plováky chcete maximalizovat rozsah, 1627 01:14:06,690 --> 01:14:10,530 a chcete-li mít možnost reprezentovat obrovské množství a velmi malé množství, jako je 1628 01:14:10,530 --> 01:14:14,210 0.000001 ve stejnou dobu. 1629 01:14:14,210 --> 01:14:15,180 Takže znovu, stejná hra. 1630 01:14:15,180 --> 01:14:20,470 Má někdo nějaký nápad, jak bychom mohli jít o zastupování plovák v paměti? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 Prostě nic neházejte. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 Ano, prosím. 1635 01:14:30,856 --> 01:14:33,552 >> Diváků: [neslyšitelné] as pokud je to dva a jeden ints 1636 01:14:33,552 --> 01:14:36,890 že [neslyšitelné] a jedna bytost vše za desetinnou čárkou. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, v pohodě. 1638 01:14:37,640 --> 01:14:40,300 Takže dva různé celá čísla. 1639 01:14:40,300 --> 01:14:45,260 Můžete mít 12,45, takže to je 12 a 45. 1640 01:14:45,260 --> 01:14:45,890 Nice. 1641 01:14:45,890 --> 01:14:46,973 Co ERE chceš říct? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 Totéž? 1644 01:14:49,430 --> 01:14:49,930 Jo? 1645 01:14:49,930 --> 01:14:55,630 >> Diváků: [neslyšitelné] notace kde oddělit základnu. 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL: Vědecká notace, jo to je obvykle to, co se stane. 1647 01:14:58,910 --> 01:15:01,350 Tak tohle je to, co se nazývá mantisa. 1648 01:15:01,350 --> 01:15:06,490 To je to, co je ve skutečnosti číslo, a pak exponent 1649 01:15:06,490 --> 01:15:08,780 je přesně tam, kde je čárka, ne? 1650 01:15:08,780 --> 01:15:13,720 Takže to bude něco formuláře 1, 2, 3, 4, 5 krát 10 1651 01:15:13,720 --> 01:15:15,000 na minus 4. 1652 01:15:15,000 --> 01:15:17,800 Jen jsem si uvědomil, that-- jo, přesně tak. 1653 01:15:17,800 --> 01:15:23,372 A pak 10 k minus 4 je bude definovat, kde je čárka, OK? 1654 01:15:23,372 --> 01:15:24,330 V Brazílii jsme používat čárku. 1655 01:15:24,330 --> 01:15:26,795 Zde si kluci použít tečku. 1656 01:15:26,795 --> 01:15:27,640 Tak tečka. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> A to je v pohodě, protože pak můžete zaměřit spoustu vašich bitů na toho chlapa 1659 01:15:34,840 --> 01:15:40,863 Zde, na mantisy a pak je to bude skutečná přesnost. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 A můžete to udělat buď v desítkové soustavě nebo v systému na bázi binární. 1662 01:15:47,175 --> 01:15:49,781 K dispozici jsou různé způsoby, jak realizovat to. 1663 01:15:49,781 --> 01:15:50,280 Otázky? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 Ano? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 Diváků: Kolik místa za desetinnou čárkou [neslyšitelné]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL: To je složitá otázka, protože to nikdy 100% přesné, 1670 01:16:12,610 --> 01:16:15,680 protože jak vidíte zde, pro některá čísla, že je 100% přesné. 1671 01:16:15,680 --> 01:16:20,350 Věřím, že pokud dáme 0.5 zde to bude 100% přesné. 1672 01:16:20,350 --> 01:16:22,220 To bude 0,500000. 1673 01:16:22,220 --> 01:16:24,170 Takže v tomto případě, je to perfektní. 1674 01:16:24,170 --> 01:16:27,330 V jiných případech, je to mnohem méně dokonalé. 1675 01:16:27,330 --> 01:16:35,010 Podle mých zkušeností, stejně jako až čtyři, pět desetinných míst je docela přesný. 1676 01:16:35,010 --> 01:16:38,300 Pokud používáte double, že to bude být způsob přesnější než to, OK? 1677 01:16:38,300 --> 01:16:42,750 >> ROB BOWDEN: Takže stačí hodit některé další souvislosti na plováky, 1678 01:16:42,750 --> 01:16:46,320 Nikdy jsem se vzpomenout si na 100%, jak se spec plováků skutečně funguje, 1679 01:16:46,320 --> 01:16:52,660 ale já si vždy pamatovat že plave začít se chaotický. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 Takže představa, že když se dostanete opravdu, opravdu velké číslo, nebo opravdu, ale opravdu 1682 01:17:00,930 --> 01:17:03,470 malé množství, začneme stále horší a horší 1683 01:17:03,470 --> 01:17:05,860 při rozlišování mezi dvěma blízkými plováky. 1684 01:17:05,860 --> 01:17:09,180 >> Tak, jak jsem chtěl přemýšlet o tom, s plovoucí desetinnou čárkou nepřesnosti, 1685 01:17:09,180 --> 01:17:11,890 jsou dva plováky, které pokud se pokusím specifikovat 1686 01:17:11,890 --> 01:17:15,150 v C, a to navzdory skutečnosti, že jsou různá čísla, 1687 01:17:15,150 --> 01:17:17,340 že budeš interpretován jako stejným číslem, 1688 01:17:17,340 --> 01:17:19,006 protože nemůžeme ukládat je jinak. 1689 01:17:19,006 --> 01:17:20,540 Musíme používat stejné kousky. 1690 01:17:20,540 --> 01:17:23,220 A tak, když se dostaneme do Opravdu, opravdu velké množství, 1691 01:17:23,220 --> 01:17:28,460 mluví jako 10 na 300 nebo něco, to je v tomto bodě 1692 01:17:28,460 --> 01:17:33,240 že 10 až 300, nebo 5x 10 až 300 1693 01:17:33,240 --> 01:17:37,020 nemohou být rozlišeny od 7 krát 10 na 300. 1694 01:17:37,020 --> 01:17:39,660 Tak to je dost velký rozdíl mezi těmito dvěma čísly. 1695 01:17:39,660 --> 01:17:43,830 >> Ale pak, když se dostanete dolů do normálního rozmezí věcí, 1696 01:17:43,830 --> 01:17:45,770 máte tendenci být docela dobře odlišit. 1697 01:17:45,770 --> 01:17:49,020 A pak, když se dostanete dolů opravdu malý, jste také stále znovu dost špatný. 1698 01:17:49,020 --> 01:17:52,529 Tak jako celá banda 0,0000, dostane dost špatné. 1699 01:17:52,529 --> 01:17:53,820 GABRIEL: Jo, tak krátká poznámka. 1700 01:17:53,820 --> 01:17:54,670 Nikdy to nedělejte. 1701 01:17:54,670 --> 01:17:57,590 Nikdy se nesnažte porovnávat plave pomocí rovná rovná, 1702 01:17:57,590 --> 01:18:02,800 protože i když jsou téměř Totéž, téměř stejná není stejná. 1703 01:18:02,800 --> 01:18:06,360 Takže to, co obvykle děláte, je odečíst je, mít absolutní hodnotu, že 1704 01:18:06,360 --> 01:18:12,380 a uvidíme, jestli to je menší než 0,0001, nebo něco takového, OK? 1705 01:18:12,380 --> 01:18:12,880 A v pohodě. 1706 01:18:12,880 --> 01:18:16,630 Vím, že spousta lidí, kteří mají Některé pozadí v jazyce Java, 1707 01:18:16,630 --> 01:18:19,700 zejména ty, kteří se AP počítačové vědy, ne? 1708 01:18:19,700 --> 01:18:23,630 A Java je jazyk že většinou založené na C, 1709 01:18:23,630 --> 01:18:26,570 to má několik velmi velké rozdíly. 1710 01:18:26,570 --> 01:18:31,430 Ale pro smyčky a investičních fondů a tak podobně to, že jsou všechny stejnou syntaxi. 1711 01:18:31,430 --> 01:18:35,240 Mám několik programů zde pro zobrazení této. 1712 01:18:35,240 --> 01:18:37,050 >> Tak například, jednoduchý Hello World. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 To je hello world v C, která vás Kluci jsou určitě obeznámeni s, 1715 01:18:46,600 --> 01:18:49,100 a to a to jeden je v Javě. 1716 01:18:49,100 --> 01:18:53,100 Takže v Javě máme to public class, hello world, 1717 01:18:53,100 --> 01:18:57,050 a public static void hlavní, a řetězec args. 1718 01:18:57,050 --> 01:18:59,665 Řetězec args jdou se objeví v C velmi krátce. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 Ale pojďme se tam dosud. 1721 01:19:01,990 --> 01:19:06,060 Právě teď tu máme void, což znamená, že hlavní není žádné argumenty. 1722 01:19:06,060 --> 01:19:09,220 A pak máme System.out.println, a to 1723 01:19:09,220 --> 01:19:11,140 druh ekvivalentu pro printf. 1724 01:19:11,140 --> 01:19:17,150 Zde nepotřebují zpětné lomítko n, protože tisk ln udělá za vás. 1725 01:19:17,150 --> 01:19:19,680 To připojí zpětné lomítko n na konci řádku. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> Ale když jdete do něco jako A pro jste 1728 01:19:30,415 --> 01:19:32,590 je vidět, že jsou skoro totéž. 1729 01:19:32,590 --> 01:19:37,390 Tak inicializace, a stav a aktualizace 1730 01:19:37,390 --> 01:19:42,050 je-- Stýskalo se mi prostor here-- jsou skoro to samé, kromě Java 1731 01:19:42,050 --> 01:19:44,430 má jako několik dalších věcí na vysoké úrovni. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 Zde můžeme udělat a já a Java bude automaticky 1734 01:19:49,610 --> 01:19:52,730 aby to i zde, což je integer, do řetězce, 1735 01:19:52,730 --> 01:19:55,200 a pak se připojit dva řetězce dohromady. 1736 01:19:55,200 --> 01:19:57,570 Tady v C musíme udělat, a% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 Linka zde, pro vypadá úplně stejně. 1739 01:20:18,170 --> 01:20:37,760 >> A pokud se podíváme na v případě, IFS také vypadají úplně stejně, ne? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 Takže skutečné velké rozdíly jsou v těch věcech, které zde vidíte. 1742 01:20:44,650 --> 01:20:47,530 Public static, void, a pak public class-li. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 Takže Java má to, co je nazývá virtuální stroj. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 A to je velmi silně založena na tom, co se nazývá objektově orientované programování, 1747 01:21:00,150 --> 01:21:04,120 což je velmi, velmi časté paradigma programování v dnešní době. 1748 01:21:04,120 --> 01:21:10,870 A tato třída věc je to, co vidíte, něco z objektové orientace, 1749 01:21:10,870 --> 01:21:14,214 je vytvořit třídu a pak vás lze odvodit objekty z dané třídy. 1750 01:21:14,214 --> 01:21:16,380 Nebudeme mluvit příliš hodně o tom v CS50, 1751 01:21:16,380 --> 01:21:18,213 ale to je určitě něco opravdu cool, 1752 01:21:18,213 --> 01:21:21,440 zejména v případě, že chcete jít do sofistikovanější vývoj webových aplikací 1753 01:21:21,440 --> 01:21:24,050 Na konci kurzu, jako odešlete závěrečný projekt 1754 01:21:24,050 --> 01:21:26,430 a některé pěkné rámce a věci. 1755 01:21:26,430 --> 01:21:31,250 >> Takže v podstatě myšlenkou je, že vás nechci znovu zavést něco, 1756 01:21:31,250 --> 01:21:36,330 tak vytvořit něco, co je velmi obecný, stejně jako tvar, 1757 01:21:36,330 --> 01:21:38,310 a potom vytvořit různé tvary z ní, 1758 01:21:38,310 --> 01:21:40,240 a pak se z každého Tyto tvary můžete vytvořit 1759 01:21:40,240 --> 01:21:45,110 některé další specifické tvary ve třech rozměry nebo něco takového. 1760 01:21:45,110 --> 01:21:48,799 A mají tuto hierarchii, které dědí od ostatních, takže 1761 01:21:48,799 --> 01:21:51,840 všechny funkce a všechny proměnné, které velký tvar zde má všechny tyto 1762 01:21:51,840 --> 01:21:54,110 budou mít, a všechny z nich jsou bude mít, a tak dále a tak dále. 1763 01:21:54,110 --> 01:21:55,640 Tak to je základní myšlenka. 1764 01:21:55,640 --> 01:21:59,170 >> C nemá, ale C ++ má mít takovou funkci. 1765 01:21:59,170 --> 01:22:02,710 A Java je silně ovlivněn o objektové orientace, 1766 01:22:02,710 --> 01:22:05,310 tak to je důvod, proč vidíte třída zde po celou dobu. 1767 01:22:05,310 --> 01:22:10,790 A další věc je, Tento Java virtual machine. 1768 01:22:10,790 --> 01:22:13,790 Takže to, myslím, že je to velmi chytrý nápad. 1769 01:22:13,790 --> 01:22:17,020 Takže to, co lidé, kteří vynalezl java udělal, je 1770 01:22:17,020 --> 01:22:19,630 nechtěli, aby sestavit svůj kód dvakrát 1771 01:22:19,630 --> 01:22:23,990 kdyby jej spustit v systému Windows, nebo Mac nebo Linux, takže to, co dělají 1772 01:22:23,990 --> 01:22:26,740 je doslova běží něco jako zařízení, 1773 01:22:26,740 --> 01:22:29,630 ale nemáte opravdu vidět že se to děje. 1774 01:22:29,630 --> 01:22:32,430 Tak se spustit virtuální stroj uvnitř počítače, které 1775 01:22:32,430 --> 01:22:34,940 je v podstatě jako mini operační systém. 1776 01:22:34,940 --> 01:22:37,920 A to provozní Účelem systému je v životě 1777 01:22:37,920 --> 01:22:41,430 je jen spustit to, co se nazývá byte kódu. 1778 01:22:41,430 --> 01:22:47,411 >> Takže místo toho, v C, tak bychom kompilace je to, aby v případě, a spusťte 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 Zapomněl jsem zpětné lomítko v. 1782 01:22:55,290 --> 01:23:00,240 V Javě, byste udělali jako první Java C se jej zkompilovat if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 Není to C. Je to tečka java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 A pak budete muset spustit ne ./. 1787 01:23:12,140 --> 01:23:15,440 Dostanete tento nový soubor if.class, ale nemůžete opravdu 1788 01:23:15,440 --> 01:23:17,980 spustit if.class nyní jen jako jsme to udělali předtím. 1789 01:23:17,980 --> 01:23:19,440 To není spustitelný. 1790 01:23:19,440 --> 01:23:20,630 Musíte spustit. 1791 01:23:20,630 --> 01:23:23,410 Musíte krmit do program s názvem Java, 1792 01:23:23,410 --> 01:23:28,260 a že program je virtuální stroj, a pak dělat if.class, nebo-li. 1793 01:23:28,260 --> 01:23:28,760 Ano. 1794 01:23:28,760 --> 01:23:30,890 A pak to funguje. 1795 01:23:30,890 --> 01:23:33,740 OK, takže to je druh virtuální stroj děje. 1796 01:23:33,740 --> 01:23:37,700 C nemá, takže pokud bych měl aby tento program v počítači se systémem Windows, 1797 01:23:37,700 --> 01:23:40,516 že to nebude fungovat v C. V Javě to dělá. 1798 01:23:40,516 --> 01:23:41,015 Otázky? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 V pohodě. 1801 01:23:44,030 --> 01:23:47,160 To je v případě, Super sekci pro dnešek. 1802 01:23:47,160 --> 01:23:49,462