1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ROB Bowden: ini adalah bagian yang lebih selesa, 3 00:00:13,351 --> 00:00:16,309 tetapi itu tidak bermakna bahawa jika anda merasa seperti anda tidak lebih selesa 4 00:00:16,309 --> 00:00:18,420 Anda tidak akan belajar perkara-perkara di sini. 5 00:00:18,420 --> 00:00:20,600 Jadi mari kita mulai. 6 00:00:20,600 --> 00:00:22,819 Adakah anda mempunyai slaid akan terus ke dalam sesuatu. 7 00:00:22,819 --> 00:00:24,360 Adakah saya akan tenang saja sekarang? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 Menghidupkan komputer riba. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> Allison: Anda tidak mahu memperkenalkan diri, Rob? 12 00:00:32,950 --> 00:00:34,090 >> ROB Bowden: Oh, saya Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 Ini adalah tahun kelima TF-ing CS50 saya. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> Gabriel: Saya Jibril. 17 00:00:39,650 --> 00:00:41,610 Saya kepala TF dari CS50. 18 00:00:41,610 --> 00:00:44,009 Saya TF tahun lalu dan tahun ini. 19 00:00:44,009 --> 00:00:46,675 Allison: Dan aku Alison, dan ini adalah tahun kedua TF-ing CS50 saya. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ROB Bowden: Baiklah, jadi perkara ini di sebelah kiri, 22 00:00:50,825 --> 00:00:52,250 mudah-mudahan anda lihat sebelum ini. 23 00:00:52,250 --> 00:00:54,112 Jika tidak kerana anda turun itu untuk diri sendiri, 24 00:00:54,112 --> 00:00:55,570 anda seharusnya melihat dalam kuliah. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 Jadi, ini adalah perkakas CS50, dan dia melakukan sedikit dari perihal itu 27 00:01:01,320 --> 00:01:01,880 dalam kuliah. 28 00:01:01,880 --> 00:01:06,890 Tapi pada dasarnya ia hanya anda menjalankan operasi yang 29 00:01:06,890 --> 00:01:10,550 sistem dalam operasi sistem supaya kami dapat memberikan 30 00:01:10,550 --> 00:01:12,540 program tanpa perlu bimbang, oh adakah ini 31 00:01:12,540 --> 00:01:15,989 akan bekerja di kedua-dua Windows dan Mac, atau jika ada di antara kamu 32 00:01:15,989 --> 00:01:17,280 sudah menggunakan Linux, Linux. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 Ia hanya sepatutnya menjadi bermain umum 35 00:01:20,240 --> 00:01:23,010 bidang supaya semua orang mempunyai persekitaran yang sama persis. 36 00:01:23,010 --> 00:01:25,344 >> Jadi, jika anda tidak mempunyai turun ini sudah, 37 00:01:25,344 --> 00:01:28,510 Anda perlu memuat turun, kerana anda akan memerlukannya untuk masalah yang ditetapkan. 38 00:01:28,510 --> 00:01:32,335 Dan ia adalah satu gigabit dua memuat turun, jadi ia mungkin mengambil masa beberapa saat. 39 00:01:32,335 --> 00:01:33,780 Di Harvard ia akan pergi cepat. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 Jadi perkakas CS50. 42 00:01:37,440 --> 00:01:41,980 >> Sekarang di awal, kita akan bercakap tentang hanya sekelompok baris perintah 43 00:01:41,980 --> 00:01:46,880 barang-barang, dan itu oleh, maksud saya bekerja dalam persekitaran ini sedikit di sini. 44 00:01:46,880 --> 00:01:53,230 Dan perhatikan semua hal Saya katakan di sini sekarang 45 00:01:53,230 --> 00:01:56,900 akan berfungsi jika anda dalam terminal bahagian dalam perkakas, 46 00:01:56,900 --> 00:02:00,790 atau jika anda berada di dalam tetingkap terminal gedit 47 00:02:00,790 --> 00:02:02,090 bahagian dalam perkakas. 48 00:02:02,090 --> 00:02:03,770 Maka orang-orang persekitaran adalah sama. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> Tetapi saya akan pergi laluan ketiga. 51 00:02:07,270 --> 00:02:12,200 Dan perhatikan di sini ini Alamat IP sedikit di sini. 52 00:02:12,200 --> 00:02:15,940 Jadi, anda tidak perlu melakukan ini, tetapi IP ini 53 00:02:15,940 --> 00:02:19,700 address-- jika aku-- kecuali ia dihalang oleh perkara ini. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 OK, jadi bahawa alamat IP lebih dalam terminal 56 00:02:27,000 --> 00:02:31,090 sini-jadi terminal ini lebih di sini adalah pangkalan di Mac. 57 00:02:31,090 --> 00:02:34,540 Jadi ini adalah sama sekali tidak pada masa ini yang berkaitan dengan alat ini sama sekali. 58 00:02:34,540 --> 00:02:39,360 Dan jika anda berada di Windows, maka anda akan perlu untuk memuat turun sesuatu 59 00:02:39,360 --> 00:02:44,430 khusus untuk ini, khususnya orang cenderung menggunakan Putty, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> Jadi apa yang saya akan lakukan ialah jenis SSH dan kemudian bahawa alamat IP. 61 00:02:50,700 --> 00:02:54,030 Nah, jharvard pada alamat IP. 62 00:02:54,030 --> 00:03:00,150 Jadi 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 Mesej menakutkan, mengabaikannya. 64 00:03:02,127 --> 00:03:02,710 Cukup ketik ya. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 Ini adalah CS50 dalam sebuah kotak. 67 00:03:06,030 --> 00:03:07,460 Ia meminta kata laluan anda. 68 00:03:07,460 --> 00:03:11,910 >> Dan dalam banyak konteks ini di mana itu meminta kata laluan, [terdengar]. 69 00:03:11,910 --> 00:03:15,670 Kami telah mendapat banyak pertanyaan di mana ia mengatakan itu tidak benar-benar mengetik. 70 00:03:15,670 --> 00:03:20,011 Ia tidak menunjukkan watak-watak kata laluan semasa anda menaip, jika ada, 71 00:03:20,011 --> 00:03:23,010 untuk ciri-ciri keselamatan, kerana jika seseorang itu melihat dari atas bahu anda 72 00:03:23,010 --> 00:03:25,870 dan mereka melihat bintang bintang bintang bintang, maka mereka 73 00:03:25,870 --> 00:03:28,640 tahu bahawa kata laluan anda adalah empat aksara. 74 00:03:28,640 --> 00:03:32,660 Jadi idea ini adalah ia akan meminta kata laluan anda, ketik. 75 00:03:32,660 --> 00:03:34,490 Ia tidak akan menunjukkan anda watak-watak, 76 00:03:34,490 --> 00:03:36,090 tetapi ia benar-benar menerima mereka. 77 00:03:36,090 --> 00:03:39,210 Dalam hal ini, bila-bila masa anda pernah melihat prompt kata laluan 78 00:03:39,210 --> 00:03:42,280 berurusan dengan alat, kata laluan akan menjadi merah. 79 00:03:42,280 --> 00:03:43,270 Jadi merah tua. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> Dan sekarang di sini dalam ini jendela yang ada di Mac, 82 00:03:50,550 --> 00:03:54,120 Saya pada dasarnya mempunyai pandangan yang sama persis 83 00:03:54,120 --> 00:03:57,040 sebagai bahagian dalam terminal di dalam perkakas. 84 00:03:57,040 --> 00:03:58,470 Jadi, anda tidak perlu melakukan hal ini. 85 00:03:58,470 --> 00:04:01,300 Anda boleh melakukan semua yang anda inginkan di dalam perkakas. 86 00:04:01,300 --> 00:04:05,140 Aku hampir tidak pernah benar-benar melakukan apa-apa di dalam perkakas. 87 00:04:05,140 --> 00:04:09,440 Saya hampir selalu mengurangkan itu dan sekarang Saya SSH bekerja ke dalam perkakas. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> Jika apa-apa, jika anda mempunyai komputer yang lebih perlahan, 90 00:04:14,180 --> 00:04:15,820 Anda mungkin melihat perbezaan. 91 00:04:15,820 --> 00:04:18,839 Saya melakukan ini kerana saya lebih suka tetingkap terminal ini. 92 00:04:18,839 --> 00:04:20,881 Ia mempunyai beberapa ciri-ciri seperti Saya dapat membagi jendela, 93 00:04:20,881 --> 00:04:22,672 dan sekarang saya boleh SSH di melalui alat ini. 94 00:04:22,672 --> 00:04:24,105 Saya punya dua SSH yang berlaku pada satu masa. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 Jika komputer anda adalah sangat lambat dan anda bekerja dalam perkakas, 97 00:04:32,250 --> 00:04:35,200 dan anda sedar ini adalah benar-benar laggy, apa pun. 98 00:04:35,200 --> 00:04:38,220 Cenderung untuk menjadi lebih cepat jika anda SSH-ed dalam. 99 00:04:38,220 --> 00:04:40,960 Tetapi jika tidak, anda boleh bekerja dengan cara baik. 100 00:04:40,960 --> 00:04:42,388 >> PENONTON: Apa SSH maksudkan? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ROB Bowden: kerang Selamat, sesuatu seperti itu? 103 00:04:47,479 --> 00:04:48,270 Apa SSH maksudkan? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 Gabriel: shell selamat. 106 00:04:55,130 --> 00:04:56,463 Allison: Ini hanya shell selamat. 107 00:04:56,463 --> 00:04:57,720 ROB Bowden: shell selamat. 108 00:04:57,720 --> 00:05:03,700 Ini adalah protokol yang you-- itu protokol selamat disulitkan demikian. 109 00:05:03,700 --> 00:05:06,850 Orang ramai tidak boleh mengintip rangkaian dan melihat apa yang anda katakan apa-apa jua 110 00:05:06,850 --> 00:05:08,120 Anda SSH-ed untuk. 111 00:05:08,120 --> 00:05:12,900 Dan sebenarnya, dalam dahulu hari CS50, sehingga pada tahun 2009 112 00:05:12,900 --> 00:05:19,300 apabila saya adalah seorang mahasiswa baru, cara yang Anda bekerja pada CS50 masalah set, 113 00:05:19,300 --> 00:05:22,490 adalah anda SSH-ed kepada beberapa pelayan bahawa kami memberikan anda akses kepada, 114 00:05:22,490 --> 00:05:23,497 dan anda bekerja di sana. 115 00:05:23,497 --> 00:05:25,330 Jadi, anda tidak mempunyai ini alat grafik. 116 00:05:25,330 --> 00:05:26,160 Anda tidak mempunyai gedit. 117 00:05:26,160 --> 00:05:28,930 Anda tidak mempunyai semua perkara ini yang Anda boleh secara visual titik dan klik. 118 00:05:28,930 --> 00:05:30,346 Anda harus bekerja dalam antara muka ini. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 Saya lebih suka bekerja dalam antara muka ini. 121 00:05:33,716 --> 00:05:36,090 Jadi sebahagian daripada apa yang kita akan untuk pergi ke atas sekarang 122 00:05:36,090 --> 00:05:39,560 adalah sekelompok dari perintah yang anda perlu 123 00:05:39,560 --> 00:05:42,095 mula membiasakan diri dengan sebagai anda pergi bersama-sama dalam perjalanan. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 Dan jujur, sebaik sahaja anda terbiasa dengan mereka, ia 126 00:05:45,790 --> 00:05:48,220 jauh lebih cepat untuk bekerja dalam persekitaran ini 127 00:05:48,220 --> 00:05:53,690 daripada ia adalah untuk bekerjasama dengan pencari, menyeret dan mengklik hal. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> Jadi di sini kita. 130 00:05:57,210 --> 00:06:01,779 Sekarang aku hanya SSH-ed dalam, dan sebagainya lalai yang lokasi anda 131 00:06:01,779 --> 00:06:04,820 melihat beberapa perintah ini di dalam kelas, tetapi kita akan pergi ke semua mereka lagi. 132 00:06:04,820 --> 00:06:08,060 Lokasi default kami dalam adalah direktori rumah. 133 00:06:08,060 --> 00:06:11,520 Dan direktori, perkataan lain untuk folder. 134 00:06:11,520 --> 00:06:13,310 Jadi kita di dalam direktori rumah. 135 00:06:13,310 --> 00:06:15,889 Menaip ls, senaraikan fail dalam direktori ini. 136 00:06:15,889 --> 00:06:17,430 Jelas saya buat blah.c sebelumnya. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 Jadi kita mempunyai direktori desktop. 139 00:06:20,472 --> 00:06:21,930 Anda melihat penonjolan sintaks? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 Warna biru terang menunjukkan direktori dan putih lurus 142 00:06:32,900 --> 00:06:34,380 menunjukkan hanya fail yang nyata. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 Jadi tidak akan menjadi beberapa warna yang anda lihat. 145 00:06:37,690 --> 00:06:41,240 Fail boleh laku yang mungkin akan untuk menjadi hijau atau sesuatu seperti itu. 146 00:06:41,240 --> 00:06:44,820 OK, jadi kami di dalam direktori rumah. 147 00:06:44,820 --> 00:06:48,970 >> Sekarang jika saya ingin pergi ke yang lain direktori, cd adalah perintah yang saya inginkan. 148 00:06:48,970 --> 00:06:52,720 Jadi mengubah direktori, dan kemudian anda lulus nama direktori 149 00:06:52,720 --> 00:06:54,020 yang anda mahu masuk ke dalam. 150 00:06:54,020 --> 00:06:55,780 Jadi di sini kita mempunyai empat pilihan jawapan. 151 00:06:55,780 --> 00:07:03,397 Saya boleh pergi ke muat turun, dan sekarang kita melihat di sini ia telah dikemaskini ini kurung 152 00:07:03,397 --> 00:07:04,480 katakan saya di ~ / muat turun. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> Jadi apa tilde? 155 00:07:06,800 --> 00:07:10,640 Ini adalah istilah untuk direktori rumah anda. 156 00:07:10,640 --> 00:07:15,260 Jadi, hampir semua yang anda lakukan adalah pergi ke menjadi berkenaan dengan direktori rumah anda, 157 00:07:15,260 --> 00:07:20,620 dan pwd hanyalah perintah Saya gunakan sekali dalam setahun yang 158 00:07:20,620 --> 00:07:22,420 hanya mencetak direktori semasa. 159 00:07:22,420 --> 00:07:25,730 Dan jadi anda lihat di sini bahawa ~ / Muat turun benar-benar menyelesaikan 160 00:07:25,730 --> 00:07:26,896 ke / home / jharvard / muat turun. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 Jadi / home / jharvard adalah direktori rumah saya. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> Jadi kita boleh cd dot dot. 165 00:07:39,400 --> 00:07:47,800 Sekarang dot dot adalah direktori khusus yang sentiasa merujuk kepada satu direktori atas. 166 00:07:47,800 --> 00:07:51,730 Jadi jika saya di ~ / muat turun, kemudian cd dot dot akan membawa saya untuk tilde. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 Apa yang kita fikir cd dot dot akan membawa saya seterusnya? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 Ia akan membawa saya ke / rumah. 171 00:08:00,570 --> 00:08:04,450 Jadi tilde oleh cetak direktori kerja, Saya kini dalam / home / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 satu direktori dari itu, kini ia mengatakan di sini / home. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> Sekarang cd dot dot. 176 00:08:17,180 --> 00:08:20,910 Sekarang aku di dalam direktori akar, dan anda tidak boleh melakukannya sekali lagi. 177 00:08:20,910 --> 00:08:23,340 Anda hanya akan tinggal di direktori root selama-lamanya. 178 00:08:23,340 --> 00:08:26,700 Direktori root mempunyai sejumlah besar perkara-perkara yang, jika anda ingin melihat ke dalam, 179 00:08:26,700 --> 00:08:27,410 anda boleh. 180 00:08:27,410 --> 00:08:29,700 Sebagai contoh, jika saya pergi ke dalam tong, yang mengandungi 181 00:08:29,700 --> 00:08:35,789 semua binari ini, seperti ls, dan cd, dan semua perkara-perkara. 182 00:08:35,789 --> 00:08:38,630 Jadi arahan ini perlu ada di suatu tempat dalam sistem, 183 00:08:38,630 --> 00:08:40,820 dan itu di direktori / bin. 184 00:08:40,820 --> 00:08:44,530 Tetapi hampir semua yang anda lakukan adalah akan menjadi dari direktori rumah anda. 185 00:08:44,530 --> 00:08:49,490 Dan cd tanpa hujah apa pun, anda boleh mengatakan cd ~, tidak perlu. 186 00:08:49,490 --> 00:08:51,810 cd akan membawa anda kembali ke direktori rumah anda. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> Salah satu yang terakhir. 189 00:08:54,230 --> 00:09:00,200 cd - akan membawa anda kembali ke Direktori terakhir yang anda berada di. 190 00:09:00,200 --> 00:09:04,080 Jadi saya hanya cd'd dua kali berturut-turut, jadi saya Direktori yang terakhir adalah direktori rumah. 191 00:09:04,080 --> 00:09:11,520 Jika saya pergi ke memangkas bin, dan sekarang mari kita pergi ke atas dan ke pengguna. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 Saham pengguna. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 Mari kita pergi ke bahagian pengguna. 196 00:09:15,940 --> 00:09:17,140 Sekarang aku sekarang dalam bahagian pengguna. 197 00:09:17,140 --> 00:09:19,320 cd -, kembali di tempat sampah. 198 00:09:19,320 --> 00:09:22,980 Jadi ini akan sangat berguna apabila anda have-- dan ia akan bertukar-tukar. 199 00:09:22,980 --> 00:09:25,660 Jadi bahagian pengguna, kembali bin, bin saham. 200 00:09:25,660 --> 00:09:27,250 >> Jadi ini akan berguna. 201 00:09:27,250 --> 00:09:33,150 Anda mungkin mendapati diri anda mempunyai banyak, banyak, banyak direktori bersarang. 202 00:09:33,150 --> 00:09:37,370 Dan anda mahu melakukan sesuatu cepat sebenar dalam direktori atas. 203 00:09:37,370 --> 00:09:40,330 Anda pergi ke direktori tersebut, membuat perubahan dan hal-hal seperti itu, 204 00:09:40,330 --> 00:09:42,400 dan sekarang anda mahu pergi kembali ke tempat Anda. 205 00:09:42,400 --> 00:09:43,660 cd -. 206 00:09:43,660 --> 00:09:47,320 Saya selalu kecewa apabila saya kebetulan pergi 207 00:09:47,320 --> 00:09:49,630 ke direktori Saya mahu melakukan kerja-kerja dalam. 208 00:09:49,630 --> 00:09:52,670 Saya selalu berasa kecewa apabila saya dalam dua langkah, bukan satu langkah, 209 00:09:52,670 --> 00:09:55,715 kerana itu bermakna cd yang - akan untuk membawa ke lokasi itu pengantara 210 00:09:55,715 --> 00:09:57,010 bukan di mana saya mahu pergi. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> Oleh itu, kita melihat semua fail senarai. 213 00:10:01,450 --> 00:10:03,300 Kita tahu bagaimana untuk mendapatkan sekitar setakat ini. 214 00:10:03,300 --> 00:10:09,900 Jadi sekarang mari kita bercakap tentang mengedit fail. 215 00:10:09,900 --> 00:10:18,790 Jadi dalam kursus ini, anda hampir selalu diharapkan untuk menggunakan gedit. 216 00:10:18,790 --> 00:10:24,410 Jika anda mahu, anda boleh mengambil langkah seterusnya dan mula belajar teks baris perintah 217 00:10:24,410 --> 00:10:25,240 editor. 218 00:10:25,240 --> 00:10:27,560 Jadi pelbagai pilihan yang ada. 219 00:10:27,560 --> 00:10:31,760 >> Dan orang-orang yang mungkin akan menjadi berkaitan dengan anda, 220 00:10:31,760 --> 00:10:35,340 kita mempunyai Nano, Vim, dan Emacs. 221 00:10:35,340 --> 00:10:40,196 Jadi Nano adalah pemula baris perintah editor teks. 222 00:10:40,196 --> 00:10:42,985 Jadi Nano mari kita pergi blah.c saya buat sebelumnya. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 Ia hanya fail ini C standard. 225 00:10:46,480 --> 00:10:51,540 Dan anda melihat sejumlah besar barang-barang berlaku di bahagian bawah skrin, 226 00:10:51,540 --> 00:10:54,100 dan nampaknya blah.c mengandungi kod C ini. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> Jadi dalam editor ini khususnya, apa yang ia berkata pada bottom-- 229 00:11:00,330 --> 00:11:06,290 sekarang simbol tanda sisipan ini, kita lihat ini ^ G, ^ X, ^ O. 230 00:11:06,290 --> 00:11:10,310 Sehingga dalam hampir semua konteks yang anda lihat, 231 00:11:10,310 --> 00:11:13,530 Anda mungkin akan melihat bahawa simbol tanda sisipan dalam tempat-tempat lain dalam talian, di Stack Overflow, 232 00:11:13,530 --> 00:11:14,450 sesuatu seperti itu. 233 00:11:14,450 --> 00:11:16,970 Ia hampir selalu merujuk kepada mengawal. 234 00:11:16,970 --> 00:11:21,590 Jadi untuk keluar saya mahu lakukan Kawalan Kawalan X. X, keluar. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 Dan saya boleh menggunakan anak panah saya kunci untuk bergerak. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 Perhatikan saya tidak boleh titik dan klik mudah. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 Anda perlu menggunakan anak panah anda kunci untuk bergerak. 241 00:11:35,010 --> 00:11:36,950 Mungkin ada suasana yang untuk titik dan klik. 242 00:11:36,950 --> 00:11:40,000 >> Tetapi mari kita membuat beberapa perubahan. 243 00:11:40,000 --> 00:11:42,100 Sekarang Kawalan X untuk pergi keluar. 244 00:11:42,100 --> 00:11:44,120 Ia tidak akan berkata kecuali penampan diubah suai. 245 00:11:44,120 --> 00:11:47,900 Sekarang segera, y untuk ya, n untuk tidak. 246 00:11:47,900 --> 00:11:49,900 Kawalan C untuk membatalkan. 247 00:11:49,900 --> 00:11:50,780 Aku hanya akan mengatakan ya. 248 00:11:50,780 --> 00:11:51,709 Nama fail untuk menulis. 249 00:11:51,709 --> 00:11:53,500 Lalai adalah fail yang sudah ada. 250 00:11:53,500 --> 00:11:54,230 Tekan Enter. 251 00:11:54,230 --> 00:11:54,740 OK. 252 00:11:54,740 --> 00:11:58,580 Sekarang saya baru sahaja disunting fail itu, menyimpannya, dan ia berubah. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> Jadi Nano adalah yang paling mudah editor teks membiasakan diri. 255 00:12:03,000 --> 00:12:05,520 Alternatif adalah Vim dan Emacs. 256 00:12:05,520 --> 00:12:11,250 Mereka adalah editor teks yang lebih tinggi yang mempunyai keluk pembelajaran yang sangat curam. 257 00:12:11,250 --> 00:12:13,740 Jadi keutamaan peribadi saya adalah Vim. 258 00:12:13,740 --> 00:12:17,175 Dan ia mempunyai pelbagai pilihan. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 Dan sebaik sahaja anda membiasakan untuk itu, anda tidak akan pernah 261 00:12:24,070 --> 00:12:26,900 mahu pergi ke mana-mana editor teks kerana anda hanya 262 00:12:26,900 --> 00:12:29,590 mempunyai begitu banyak perkara disediakan untuk anda dalam ini, 263 00:12:29,590 --> 00:12:31,690 tetapi ia mengambil masa yang benar-benar masa yang lama untuk belajar. 264 00:12:31,690 --> 00:12:36,000 Jadi mungkin anda hanya ingin memaksa diri anda sekarang untuk mendapatkan digunakan untuk itu, 265 00:12:36,000 --> 00:12:38,130 tetapi saya akan mengatakan itu berbaloi. 266 00:12:38,130 --> 00:12:39,660 Tetapi ia adalah sukar. 267 00:12:39,660 --> 00:12:41,220 >> Dan kemudian Emacs. 268 00:12:41,220 --> 00:12:44,940 Aku selalu berjuang di Emacs kerana Saya tahu bagaimana untuk melakukan apa-apa. 269 00:12:44,940 --> 00:12:47,755 Rupa-rupanya Emacs tidak secara lalai dipasang pada alat. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 Kami mungkin akan menambah bahawa sebagai pemasangan lalai. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 Sebaik sahaja anda belajar salah satu Vim atau Emacs, ada 274 00:13:02,390 --> 00:13:04,810 ada alasan kuat untuk pernah belajar yang lain, 275 00:13:04,810 --> 00:13:07,570 tetapi itu adalah gaya yang sama sekali berbeza. 276 00:13:07,570 --> 00:13:10,460 OK jadi itu mengedit fail teks. 277 00:13:10,460 --> 00:13:13,374 >> PENONTON: Jika anda terjebak di Vim sekarang, bagaimana we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ROB Bowden: Ada beberapa mode di Vim, 280 00:13:20,800 --> 00:13:23,770 dan ada keseluruhan tutorial belajar Vim. 281 00:13:23,770 --> 00:13:27,390 Jadi, jika anda berada dalam mod insert dalam rangka 282 00:13:27,390 --> 00:13:29,930 menaip teks, yang anda boleh masuk yang dalam pelbagai cara, 283 00:13:29,930 --> 00:13:31,610 tetapi saya adalah bagaimana anda masuk ke dalam mod insert. 284 00:13:31,610 --> 00:13:34,780 Di dalam atau keluar dari mana-mana khusus bagaimana anda hadapi, hanya melarikan diri. 285 00:13:34,780 --> 00:13:37,640 Dan anda hanya tamparan melarikan diri untuk mendapatkan daripada apa-apa mod bersarang dalam anda. 286 00:13:37,640 --> 00:13:40,360 Hanya OK, sekarang aku kembali dalam mod biasa. 287 00:13:40,360 --> 00:13:43,790 >> Dan sebagainya dalam mod biasa, titik dua. 288 00:13:43,790 --> 00:13:45,160 Anda melihatnya muncul di bahagian bawah. 289 00:13:45,160 --> 00:13:46,240 Dan kemudian q. 290 00:13:46,240 --> 00:13:52,600 Jadi q akan berhenti jika anda telah membuat perubahan, yang aku-- aku membuat perubahan? 291 00:13:52,600 --> 00:13:54,180 Saya telah membuat perubahan nampaknya. 292 00:13:54,180 --> 00:13:57,264 Jadi, jika anda telah membuat perubahan, itu akan mengatakan anda boleh meletakkan tanda seru. 293 00:13:57,264 --> 00:13:58,430 Saya akan menyebutnya keras. 294 00:13:58,430 --> 00:14:02,040 Jadi, anda boleh meletakkan larangan kepada hanya berhenti tanpa melakukan apa-apa, 295 00:14:02,040 --> 00:14:04,520 atau wq usus besar akan menjimatkan dan berhenti. 296 00:14:04,520 --> 00:14:06,580 Jadi w pada umumnya menulis. 297 00:14:06,580 --> 00:14:08,300 Jadi menulis fail. 298 00:14:08,300 --> 00:14:09,810 Saya boleh menulis dan berhenti. 299 00:14:09,810 --> 00:14:13,606 Atau, anda boleh mempunyai hanya slam qx, q bang hanya 300 00:14:13,606 --> 00:14:16,230 untuk keluar dari sana terlepas dengan apa-apa perubahan yang anda buat. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> Baiklah, jadi sekarang mari kita go-- kita boleh membuat fail. 303 00:14:28,940 --> 00:14:30,890 Mari kita mulai menghapus fail. 304 00:14:30,890 --> 00:14:35,450 Dan saya hanya akan membuang dalam satu perintah baru cepat, sentuh. 305 00:14:35,450 --> 00:14:38,200 Jadi menyentuh foo. 306 00:14:38,200 --> 00:14:39,340 Bar sentuh. 307 00:14:39,340 --> 00:14:40,220 Sentuh baz. 308 00:14:40,220 --> 00:14:42,810 Jika saya ls, kini kita melihat bahawa fail-fail itu wujud. 309 00:14:42,810 --> 00:14:44,315 Mereka benar-benar kosong. 310 00:14:44,315 --> 00:14:47,178 Jadi sentuh hanya yang mudah cara satu, [terdengar]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 Kedua, dari segi teknikal hanya untuk negara itu, ia update cap waktu. 313 00:14:54,640 --> 00:14:58,470 Jadi mana-mana fail yang anda buat mempunyai tanda waktu yang bersekutu dengannya. 314 00:14:58,470 --> 00:15:01,330 Jadi baz telah dibuat pada 14 September di 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 Sekarang 16.22 jadi jika Saya menyentuh baz lagi, kita 317 00:15:06,670 --> 00:15:11,420 melihat baz yang paling baru-baru ini diubah suai pada 16:22. 318 00:15:11,420 --> 00:15:17,680 Tetapi jika tidak, saya hampir tidak pernah melihat cap waktu pada fail. 319 00:15:17,680 --> 00:15:20,490 Jadi sentuh, di sini saya hanya menggunakan untuk membuat beberapa fail cepat. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> Baiklah, jadi sekarang rm adalah perintah bahawa kita mengambil berat tentang di sini. 322 00:15:27,400 --> 00:15:28,665 Dan kita dapat rm boo. 323 00:15:28,665 --> 00:15:31,000 Katakanlah menghapus file biasa boo kosong. 324 00:15:31,000 --> 00:15:34,070 Dan kita boleh menaip y, dan kini ia kali jauhnya. 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 Keluarkan fail kosong biasa baz dan jenis n untuk tidak. 328 00:15:38,620 --> 00:15:40,060 Kini ia tidak dibuang. 329 00:15:40,060 --> 00:15:41,240 Begitu bar dan baz masih wujud. 330 00:15:41,240 --> 00:15:42,232 Foo hilang. 331 00:15:42,232 --> 00:15:43,148 Gabriel: Simpan bercakap. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ROB Bowden: besar. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 Jadi mesej yang menjengkelkan di sini, keluarkan empty-- biasa 336 00:15:50,370 --> 00:15:52,390 apa yang anda lakukan di sana? 337 00:15:52,390 --> 00:15:54,030 Keluarkan fail kosong biasa. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 Jadi, jika kita tidak mahu menjadi diganggu oleh mesej yang, 340 00:16:01,610 --> 00:16:05,340 kita boleh buang dalam f ini bendera, dan sebagainya itu berlaku. 341 00:16:05,340 --> 00:16:11,330 Dan jika saya rm -f, ia tidak akan mengatakan yang anda mahu untuk menghapuskan fail ini. 342 00:16:11,330 --> 00:16:12,040 Ia hanya akan melakukannya. 343 00:16:12,040 --> 00:16:13,720 Dan ls, saya tidak melihat bar di sana lagi. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> Sekarang adalah berpotensi perintah berbahaya. 346 00:16:18,021 --> 00:16:19,020 Ia cenderung untuk tidak terlalu buruk. 347 00:16:19,020 --> 00:16:22,240 Kami akan datang kembali dalam detik bagaimana itu bisa sangat berbahaya. 348 00:16:22,240 --> 00:16:28,740 Dan mari kita membuat beberapa direktori sementara. 349 00:16:28,740 --> 00:16:30,880 mkdir, perintah lain. 350 00:16:30,880 --> 00:16:34,880 Jadi mkdir adalah perintah yang membuat direktori. 351 00:16:34,880 --> 00:16:40,650 Dan sekarang dengan ls kami melihat terang yang bagus biru disorot direktori sementara. 352 00:16:40,650 --> 00:16:42,295 Saya dapat cd ke temp. 353 00:16:42,295 --> 00:16:44,590 Dan saya boleh Mkdir foo. 354 00:16:44,590 --> 00:16:46,330 cd ke foo. bar mkdir. 355 00:16:46,330 --> 00:16:46,860 cd ke bar. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> Jadi kita lihat kita dengan mudah boleh mendapatkan ke dalam beberapa bersarang cukup dalam. 358 00:16:54,300 --> 00:16:56,385 Sekarang bagaimana cara mengeluarkan direktori? 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 Jadi jika saya hanya lurus cuba rm, seperti yang kita lakukan dengan fail biasa, 363 00:17:03,540 --> 00:17:06,420 bar rm akan mengatakan tidak boleh mengeluarkan bar. 364 00:17:06,420 --> 00:17:07,569 Ia adalah direktori. 365 00:17:07,569 --> 00:17:10,619 Ada perintah khusus untuk membuang direktori, jenis. 366 00:17:10,619 --> 00:17:12,900 Bar Jadi rmdir. 367 00:17:12,900 --> 00:17:13,710 Sekarang bar hilang. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> OK, jadi rmdir saya cukup banyak tidak pernah digunakan. 370 00:17:22,680 --> 00:17:32,220 Sebab sekarang being-- mari kita membuat bar file biasa di sini. 371 00:17:32,220 --> 00:17:34,780 Boo Jadi rmdir. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 Gagal membuang foo. 374 00:17:36,900 --> 00:17:38,420 Direktori tidak kosong. 375 00:17:38,420 --> 00:17:43,420 Jadi, anda tidak boleh menggunakan menghapus dir pada direktori yang memiliki perkara di dalamnya. 376 00:17:43,420 --> 00:17:44,830 >> Jadi, anda mempunyai beberapa pilihan. 377 00:17:44,830 --> 00:17:49,780 Anda boleh pergi ke direktori tersebut, keluarkan segala sesuatu secara manual, dan kemudian keluar 378 00:17:49,780 --> 00:17:51,759 dan rmdir direktori. 379 00:17:51,759 --> 00:17:53,050 Yang jelas bunyi menjengkelkan. 380 00:17:53,050 --> 00:17:55,000 Bagaimana jika terdapat beribu-ribu file di sana? 381 00:17:55,000 --> 00:17:58,119 Nah, anda boleh rm *. 382 00:17:58,119 --> 00:17:59,410 Kami akan bercakap tentang * dalam satu saat. 383 00:17:59,410 --> 00:18:00,870 Ia pada asasnya bermakna semua perkara. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 Tetapi lebih baik lagi, r sehingga rm. 386 00:18:05,470 --> 00:18:10,220 Jadi rm -r-- dalam banyak konteks, r berarti rekursif, 387 00:18:10,220 --> 00:18:13,810 yang kita akan bercakap tentang apa yang cara rekursif dalam beberapa minggu. 388 00:18:13,810 --> 00:18:18,630 Tetapi pada dasarnya bermakna traverse keseluruhan direktori ini 389 00:18:18,630 --> 00:18:20,190 dan mengeluarkan segala-galanya. 390 00:18:20,190 --> 00:18:24,420 >> Foo r sehingga rm yang akan dikatakan turun ke dalam direktori foo? 391 00:18:24,420 --> 00:18:25,210 Ya. 392 00:18:25,210 --> 00:18:26,800 Keluarkan fail kosong foo / bar biasa? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 Ya. 395 00:18:28,540 --> 00:18:29,760 Buang direktori foo? 396 00:18:29,760 --> 00:18:30,260 Ya. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 Jadi sekarang foo dan segala-galanya di dalamnya telah dikeluarkan. 399 00:18:35,020 --> 00:18:42,370 >> Sekarang boleh mendapatkan sangat menjengkelkan when-- mari kita menyentuh 1, sentuh 2, sentuh 3. 400 00:18:42,370 --> 00:18:44,400 Boleh mempunyai sejumlah besar fail. 401 00:18:44,400 --> 00:18:49,060 Jika saya mahu, saya boleh membuat beribu-ribu fail di sini. 402 00:18:49,060 --> 00:18:53,340 Dan foo r rm akan menjadi sangat menjengkelkan. 403 00:18:53,340 --> 00:18:55,374 Ya, ya, ya, ya, ya, ya. 404 00:18:55,374 --> 00:18:57,540 Dengan lebih banyak fail yang anda cepat melihat berapa kali 405 00:18:57,540 --> 00:18:58,581 Saya akan perlu menaip ya. 406 00:18:58,581 --> 00:19:02,265 Baik, kami hanya melihat sebelum bagaimana kita boleh menyingkirkan perlu menaip ya, f. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 Jadi mkdir foo foo cd sentuh 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 OK, foo rf sehingga rm akan membabi buta mengeluarkan foo sepenuhnya. 411 00:19:17,190 --> 00:19:17,960 Tidak ada yang cepat. 412 00:19:17,960 --> 00:19:18,650 Tidak ada apa-apa. 413 00:19:18,650 --> 00:19:20,040 Foo hilang. 414 00:19:20,040 --> 00:19:23,830 >> Jadi saya cenderung untuk menggunakan ini perintah sepanjang masa. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 Yang berkata, ia adalah satu perintah yang sangat berbahaya, 417 00:19:27,830 --> 00:19:33,240 kerana jika saya melakukan sesuatu seperti ini, ia tidak akan meminta anda. 418 00:19:33,240 --> 00:19:34,730 Ia akan hilang. 419 00:19:34,730 --> 00:19:40,140 Dan hal itu terjadi cukup sering, dan juga di peringkat yang lebih tinggi kursus CS. 420 00:19:40,140 --> 00:19:42,070 Kadang-kadang kita akan melihat sesuatu di mana seseorang 421 00:19:42,070 --> 00:19:48,360 kata saya secara tidak sengaja rm rf-ed kami rumah saya direktori dan semua set P saya telah hilang. 422 00:19:48,360 --> 00:19:52,422 Dan ia boleh membinasakan, tetapi tidak ada sampah. 423 00:19:52,422 --> 00:19:54,380 Ada tidak ada apa-apa untuk anda untuk mengambil. 424 00:19:54,380 --> 00:19:55,330 Ia hanya hilang. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 Lebih buruk lagi akan sesuatu seperti rm-rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 Jadi kita hanya dibincangkan direktori akar. 429 00:20:01,140 --> 00:20:03,095 Ia memegang semua fail pada sistem anda. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 Perkara yang cenderung untuk mendapatkan cukup berantakan apabila anda mengeluarkan hal-hal seperti ls, 432 00:20:07,380 --> 00:20:10,280 dan cd, dan semua orang-orang. 433 00:20:10,280 --> 00:20:15,467 >> PENONTON: Apakah perbezaan di antara rm, rf, dan rm * 434 00:20:15,467 --> 00:20:16,300 ROB Bowden: Jadi rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> Allison: Soalan adalah apa Perbezaan antara rm, rf, dan rm *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ROB Bowden: Jadi rm *. 439 00:20:25,950 --> 00:20:31,910 Bintang di sarana umum semua kandungan dalam direktori ini. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 Berusaha untuk memikirkan yang lain cara untuk menunjukkan bintang. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 Nah, bintang sebenarnya umumnya bermakna dapat ditemukan pada corak. 444 00:20:44,780 --> 00:20:54,930 Jadi jika saya mempunyai fail yang dipanggil dog1, menyentuh dog2, sentuh cat1, sentuh Cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 Jadi ls * 1 akan mencetak cat1 dan dog1, kerana bintang yang boleh diisi 447 00:21:02,110 --> 00:21:06,270 di with-- yang perlu berada di sana, tetapi bintang ini boleh menjadi sama ada kucing atau anjing. 448 00:21:06,270 --> 00:21:07,247 Ia adalah satu kad liar. 449 00:21:07,247 --> 00:21:08,580 Itulah perkataan yang saya cari. 450 00:21:08,580 --> 00:21:09,120 Kad liar. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 Atau saya boleh ls anjing *, dan Saya dapat melihat dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 Maka orang-orang yang menyenaraikan fail yang sesuai dengan pola yang tertentu. 454 00:21:16,870 --> 00:21:18,150 Anda boleh menggunakan ls dengan cara ini. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * bintang perlawanan apa-apa. 457 00:21:22,020 --> 00:21:25,710 Jadi ia akan mencetak semua kandungan dalam direktori ini 458 00:21:25,710 --> 00:21:27,290 kerana semua daripada mereka sepadan. 459 00:21:27,290 --> 00:21:30,130 Ia tidak akan mencetak apa-apa dalam direktori tingkat atas. 460 00:21:30,130 --> 00:21:38,680 Jika saya mempunyai sub direktori, foo, dan menyentuh 1 2 3-- jadi sekarang jika rm * bintang, 461 00:21:38,680 --> 00:21:41,450 menghapus cat1, Cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 Tidak dapat membuang foo. 463 00:21:42,340 --> 00:21:43,090 Ia adalah direktori. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> Jadi bintang mengembang untuk semua fail dalam direktori. 466 00:21:50,340 --> 00:21:55,210 Jadi secara teknikal rm * adalah seperti mengatakan cat1 rm, Cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 Manakala rf rm, teknikal bintang akan mencapai apa yang kita inginkan, tapi rm -rf-- 468 00:22:03,630 --> 00:22:06,090 jika saya keluar dari ini direktori, suhu rf rm, 469 00:22:06,090 --> 00:22:08,890 yang akan masuk ke temp dan rekursif menghapus segala-galanya. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> Jadi bintang adalah berasingan di mana yang Difahamkan oleh- supaya perkara ini 472 00:22:21,060 --> 00:22:25,090 bahawa saya berjalan dalam, perkara ini yang mendorong saya untuk perintah 473 00:22:25,090 --> 00:22:28,770 dan kemudian melaksanakan dan melakukan mereka, saya sebut ini kulit saya. 474 00:22:28,770 --> 00:22:31,930 Dan sebagainya shell ini sendiri program. 475 00:22:31,930 --> 00:22:35,010 Dan jika saya mahu, saya boleh dijalankan dalam / bin / bash. 476 00:22:35,010 --> 00:22:36,930 Shell disebut Bash. 477 00:22:36,930 --> 00:22:39,340 Dan sekarang kita melihat sesuatu telah berubah sedikit, 478 00:22:39,340 --> 00:22:42,200 dan itu karena tetapan saya untuk shell adalah agak berbeza. 479 00:22:42,200 --> 00:22:45,415 >> Tapi sekarang aku berjalan teknikal shell dalam shell asli saya, 480 00:22:45,415 --> 00:22:49,570 dan saya boleh keluar dari shell itu, dan sekarang Aku kembali ke shell tingkat atas saya. 481 00:22:49,570 --> 00:22:55,240 Tujuan berkata yang is-- bintang. 482 00:22:55,240 --> 00:22:59,020 Jadi bintang itu ialah sesuatu difahami oleh Bash. 483 00:22:59,020 --> 00:23:04,260 Jadi rm-rf, bendera-rf adalah difahami dengan hanya rm. 484 00:23:04,260 --> 00:23:06,380 Ia tahu bahawa apabila anda lulus rf yang anda 485 00:23:06,380 --> 00:23:09,520 mahu ia menghapus rekursif semua fail tanpa disuruh. 486 00:23:09,520 --> 00:23:13,960 Bintang itu adalah sesuatu yang difahami bash bahawa apabila anda mengatakan rm *, 487 00:23:13,960 --> 00:23:16,890 bash tidak akan mengatakan hey rm *, keluarkan bintang. 488 00:23:16,890 --> 00:23:21,010 Bash akan mengatakan rm * menghapus cat1, Cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 Ia secara automatik akan berkembang semua fail-fail dalam direktori. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> Dan begitu juga tilde adalah satu lagi simbol yang Bash memahami. 492 00:23:33,140 --> 00:23:37,130 Apabila kamu berkata cd ~, bash mengembang yang ke direktori rumah anda. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 Soalan-soalan lain setakat ini? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 OK jadi kita akan mula pergi cepat. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Siap Tab. 499 00:23:48,545 --> 00:23:49,670 Hanya untuk membuangnya di luar sana. 500 00:23:49,670 --> 00:23:51,530 Banyak orang tidak menyedari ini ada. 501 00:23:51,530 --> 00:23:55,060 Jadi, jika saya menaip cd dow, saya mahu pergi ke muat turun. 502 00:23:55,060 --> 00:23:56,700 Saya tidak perlu menaip nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 Saya hanya dapat menekan Tab. 505 00:24:00,770 --> 00:24:03,794 Jadi ia mengakui bahawa dow adalah awalan yang 506 00:24:03,794 --> 00:24:05,710 tidak sesuai dengan apa-apa lain di dalam direktori ini, 507 00:24:05,710 --> 00:24:07,520 jadi ia akan menyelesaikan untuk anda. 508 00:24:07,520 --> 00:24:08,610 Sekarang saya boleh masuk. 509 00:24:08,610 --> 00:24:10,110 >> Saya juga melakukan secara rekursif. 510 00:24:10,110 --> 00:24:11,205 Foo Jadi mkdir. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 Mari kita pergi ke foo. 513 00:24:13,300 --> 00:24:14,830 bar mkdir. 514 00:24:14,830 --> 00:24:17,345 Jadi kembali ke rumah saya direktori, saya dapat melihat muat turun. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 Sekarang memukul tab lagi, secara automatik akan mengisi foo. 517 00:24:21,860 --> 00:24:22,880 Ini satu-satunya direktori. 518 00:24:22,880 --> 00:24:25,340 Memukul tab lagi, secara automatik akan mengisi bar. 519 00:24:25,340 --> 00:24:26,798 Jadi sekarang aku dalam (~ Download / foo / bar). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> Jadi penyelesaian tab ini, setiap kali saya dapat waktu pejabat, 522 00:24:31,692 --> 00:24:33,400 dan aku berdiri di atas bahu seseorang, 523 00:24:33,400 --> 00:24:40,470 dan mereka akan rm D-O-W-N-L-O-A-D-S, saya akan mati. 524 00:24:40,470 --> 00:24:41,990 Tab adil, tab, tab, tab. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 Jadi pasti digunakan tab. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 Dan begitu juga ke atas dan ke bawah, banyak orang 529 00:24:49,840 --> 00:24:51,930 hanya itu yang berlaku kepada tidak pernah memukul atas dan ke bawah. 530 00:24:51,930 --> 00:24:54,870 Ia akan pergi melalui sebelumnya perintah, jadi jika anda hanya melakukan sesuatu, 531 00:24:54,870 --> 00:24:58,300 dan anda ingin menjalankannya lagi, hanya memegang sehingga anda sampai ke sana. 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 >> Begitu cepat, beberapa perkara lain. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 Mari kita kembali ke temp. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 Mari kita membuat beberapa fail. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 Jadi di sini, aku hanya akan menyenaraikan beberapa perkataan. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 anjing, kucing, meow. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 Mari kita buat anjing, ikan. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 Jadi sekarang rep adalah sangat perintah yang berguna yang anda 548 00:25:32,320 --> 00:25:37,820 gunakan untuk mencari di seluruh file untuk teks tertentu, 549 00:25:37,820 --> 00:25:40,910 dan teknikal yang boleh anda lakukan benar-benar ekspresi kompleks untuk ia sepadan. 550 00:25:40,910 --> 00:25:44,830 >> Jadi di sini, jika saya grep, dan apa yang saya ingin mencari? 551 00:25:44,830 --> 00:25:49,130 Katakanlah saya sedang mencari kucing, dan Saya ingin mencari semua fail-fail ini. 552 00:25:49,130 --> 00:25:50,650 Jadi bagaimana saya boleh melakukan semua fail-fail ini? 553 00:25:50,650 --> 00:25:51,900 Star. 554 00:25:51,900 --> 00:25:54,939 Jadi, dalam satu file, saya mempunyai kucing. 555 00:25:54,939 --> 00:25:56,980 Saya mungkin boleh mempunyai menyebutnya sesuatu yang lebih baik, 556 00:25:56,980 --> 00:25:59,063 kerana yang kelihatan seperti nombor talian atau sesuatu. 557 00:25:59,063 --> 00:26:01,590 Tetapi dalam fail yang saya mempunyai satu garis dengan kucing. 558 00:26:01,590 --> 00:26:04,160 Dalam fail dua saya mempunyai satu garis dengan kucing. 559 00:26:04,160 --> 00:26:07,280 Jadi sekarang aku dapat melihat ke dalam satu file dan lihat oh yeah, fail yang memiliki kucing. 560 00:26:07,280 --> 00:26:10,210 Notis fail tiga tidak cocok kerana kucing tidak di sana. 561 00:26:10,210 --> 00:26:13,882 Saya boleh grep untuk meow. 562 00:26:13,882 --> 00:26:14,840 Hanya memfailkan dua mempunyai meow. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> Jadi ini anda boleh menggabungkan, lagi, dengan r, yang 565 00:26:20,640 --> 00:26:23,580 seperti yang saya katakan sebelum sering berarti rekursif. 566 00:26:23,580 --> 00:26:29,800 Oleh itu, saya boleh datang ke sini, grep r bagi apa-apa contoh daripada- mari kita mengedit 567 00:26:29,800 --> 00:26:32,010 satu ini hanya untuk membuang kucing di sana. 568 00:26:32,010 --> 00:26:38,800 Jadi grep r bagi apa-apa kehendak kucing di seluruh direktori ini. 569 00:26:38,800 --> 00:26:41,600 Dan ia akan secara rekursif menggeledah mana-mana subdirektori. 570 00:26:41,600 --> 00:26:43,940 Jadi dalam baz, ada kucing. 571 00:26:43,940 --> 00:26:45,570 Dalam temp / 2, ada kucing. 572 00:26:45,570 --> 00:26:47,960 Dan dalam temp / 1 ada kucing. 573 00:26:47,960 --> 00:26:50,045 Jadi itu mencari di dalam fail. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> Sekarang anda juga boleh menggunakan menemukan. 576 00:26:55,090 --> 00:26:59,640 Dan jadi cari adalah khusus tentang mencari fail dengan nama yang diberikan. 577 00:26:59,640 --> 00:27:02,490 Jadi mari kita buat lagi. 578 00:27:02,490 --> 00:27:03,660 Mari kita pergi ke muat turun. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 Sentuh dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 Sentuh Cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 Sentuh cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 Sentuh catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> Jadi saya ingin mencari semua fail dengan anjing dalam nama. 589 00:27:23,810 --> 00:27:28,060 Jadi mencari, dan untuk paling lama kali saya tidak pernah ingat 590 00:27:28,060 --> 00:27:33,760 bagaimana mencari bekerja, sehingga saya akhirnya membaca sesuatu yang membuatnya begitu jelas. 591 00:27:33,760 --> 00:27:35,784 Jadi mencari, secara automatik rekursif. 592 00:27:35,784 --> 00:27:36,950 Anda tidak perlu untuk lulus r a. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 Sehingga menemukan titik. 595 00:27:39,110 --> 00:27:40,750 Kami tidak bercakap tentang titik lagi. 596 00:27:40,750 --> 00:27:44,800 Manakala dot dot selalu ertinya satu direktori atas. 597 00:27:44,800 --> 00:27:46,960 Dot sentiasa bermakna direktori semasa. 598 00:27:46,960 --> 00:27:51,390 Supaya saya dapat rm dot r dalam cara yang sama saya dapat rm-rf *. 599 00:27:51,390 --> 00:27:53,140 Akhirnya mereka mencapai perkara yang sama. 600 00:27:53,140 --> 00:27:56,040 rm dot rf akan mengeluarkan direktori semasa keseluruhan. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> OK, yang saya tidak mahu lakukan di sana. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 Tetapi menemukan titik. 605 00:28:04,320 --> 00:28:07,920 Jadi rekursif mencari semasa direktori, dan sekarang semuanya 606 00:28:07,920 --> 00:28:14,125 selepas ini adalah sekumpulan bendera anda gunakan untuk tidak termasuk perkara-perkara dari pengembalian. 607 00:28:14,125 --> 00:28:17,250 Jadi mencari titik mengembalikan segala sesuatu yang boleh mencari dari direktori semasa. 608 00:28:17,250 --> 00:28:19,700 Mereka adalah semua fail rekursif mencari. 609 00:28:19,700 --> 00:28:21,250 Kita akan melihat beberapa daripada mereka dalam satu saat. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> Tetapi dalam kes anda tertanya-tanya bagaimana saya melakukannya itu, jadi Perintah K, sekurang-kurangnya 612 00:28:27,140 --> 00:28:29,660 di terminal saya di Mac membersihkan it. 613 00:28:29,660 --> 00:28:34,660 Kawalan L umumnya hilang untuk apa-apa jenis terminal. 614 00:28:34,660 --> 00:28:36,480 Anda juga boleh menaip jelas. 615 00:28:36,480 --> 00:28:38,410 Dan jika anda pernah mendapatkan menjadi scenario-- pelik 616 00:28:38,410 --> 00:28:42,790 ia berlaku kepada saya pasangan time-- di mana warna prompt anda 617 00:28:42,790 --> 00:28:46,590 semua kacau, atau anda tidak dapat melihat apa-apa 618 00:28:46,590 --> 00:28:51,232 yang ditaip ketika anda menaip, kerana kadang-kadang seperti warna latar belakang ditetapkan 619 00:28:51,232 --> 00:28:53,940 yang sama dengan warna latar depan dan sekarang anda tidak dapat melihat fon. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 Reset adalah sesuatu yang hanya menetapkan semula Anda latar belakang lalai hitam, 622 00:28:59,830 --> 00:29:01,840 depan putih, atau apa sahaja Anda menetapkan mereka. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> Jadi di mana kita? 625 00:29:04,790 --> 00:29:05,930 Cari titik. 626 00:29:05,930 --> 00:29:09,360 Jadi sekarang semua ini lalu titik menyekat keputusan 627 00:29:09,360 --> 00:29:11,450 kepada sesuatu yang sepadan dengan pola yang diberikan. 628 00:29:11,450 --> 00:29:16,110 Jadi di sini saya ingin mencari segala sesuatu dengan kucing nama. 629 00:29:16,110 --> 00:29:17,300 Saya mendapat apa-apa. 630 00:29:17,300 --> 00:29:18,390 Mengapa keadaan tersebut berlaku? 631 00:29:18,390 --> 00:29:21,230 Well, saya hanya mencari sesuatu dengan tepat kucing nama. 632 00:29:21,230 --> 00:29:25,150 Jika saya ingin mencari sesuatu yang mempunyai beberapa corak, dan cat-- 633 00:29:25,150 --> 00:29:28,890 petikan-petikan yang secara teknikal tidak diperlukan, tetapi saya melemparkan mereka di sana. 634 00:29:28,890 --> 00:29:32,720 Jadi sekarang ia mendapati catcat kerana itulah satu-satunya perkara yang 635 00:29:32,720 --> 00:29:36,040 mempunyai beberapa sewenang-wenangnya pola diikuti dengan kucing. 636 00:29:36,040 --> 00:29:41,950 Saya boleh meletakkan kucing *, dan sekarang mencari catcat, cat_dog, Cat2, 637 00:29:41,950 --> 00:29:45,245 tetapi semua itu adalah perkara-perkara dengan kucing di awal diikuti dengan apa-apa. 638 00:29:45,245 --> 00:29:46,120 Anda boleh menggabungkan ini. 639 00:29:46,120 --> 00:29:50,480 Jika anda ingin mencari semua fail C yang anda ada, anda mungkin melakukan * .c. 640 00:29:50,480 --> 00:29:51,960 Kami telah blah.c sini. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 Jadi itulah mencari kerja. 643 00:29:55,020 --> 00:29:55,770 Anda boleh mencari. 644 00:29:55,770 --> 00:29:58,270 Ia mempunyai sejumlah besar bendera untuk sekatan lebih lanjut. 645 00:29:58,270 --> 00:30:00,960 Dan salah pada mereka, katakanlah d. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 Jadi tidak berlaku lagi. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 Oh, bukan itu yang saya mahu. 650 00:30:06,550 --> 00:30:07,730 Tidak -d. 651 00:30:07,730 --> 00:30:08,860 Jenis d. 652 00:30:08,860 --> 00:30:13,820 Jadi mencari titik - jenis d. 653 00:30:13,820 --> 00:30:17,760 Jadi apa yang hanya melakukan ini aku mencari untuk semua fail dalam direktori semasa 654 00:30:17,760 --> 00:30:21,680 dengan d a-- singkatan Jenis direktori directory--. 655 00:30:21,680 --> 00:30:24,430 Ini mengembalikan semua direktori di dalam direktori semasa. 656 00:30:24,430 --> 00:30:27,670 Dan jenis F adalah semua biasa file, semua direktori merokok. 657 00:30:27,670 --> 00:30:29,809 Jadi itu hanya sebuah contoh cara lain yang 658 00:30:29,809 --> 00:30:32,350 boleh mengehadkan carian lain daripada sekadar nama fail. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> Sudah 30 minit. 661 00:30:35,570 --> 00:30:36,848 Masih berterusan. 662 00:30:36,848 --> 00:30:38,132 >> Allison: Aku akan angin melalui. 663 00:30:38,132 --> 00:30:39,670 Ia akan baik-baik. 664 00:30:39,670 --> 00:30:41,460 >> ROB Bowden: Jadi beberapa perkara lain. 665 00:30:41,460 --> 00:30:45,700 Sekarang bang, tanda seru. 666 00:30:45,700 --> 00:30:50,530 Sehingga pada umumnya ertinya- baik, mari kita lihat satu contoh. 667 00:30:50,530 --> 00:30:52,230 Jadi! F, apa yang yang akan lakukan? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 Baik ia seolah-olah mempunyai berulang menemukan titik type f. 670 00:30:57,810 --> 00:30:59,240 Bagaimana pula! G? 671 00:30:59,240 --> 00:31:00,760 Yang hanya grep kucing-r *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 Jadi bang boleh anda gunakan untuk mengulangi perintah baru-baru ini dilakukan. 674 00:31:05,720 --> 00:31:13,280 Jadi, jika saya menaip! Gre, ia akan dikendalikan semula perintah yang bermula dengan yang paling gre 675 00:31:13,280 --> 00:31:14,060 baru-baru ini. 676 00:31:14,060 --> 00:31:17,090 >> Dan anda boleh melihat semua ini perintah dengan sejarah. 677 00:31:17,090 --> 00:31:17,880 Jadi sejarah. 678 00:31:17,880 --> 00:31:19,630 Ini semua adalah perintah Aku telah lari hari ini. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 Dan juga, ia tidak benar-benar terhad kepada hari ini, 681 00:31:23,130 --> 00:31:25,180 tetapi saya hanya menggunakan ini alat untuk hari ini. 682 00:31:25,180 --> 00:31:28,730 Ini keseluruhan anda daripada sejarah shell bash anda, 683 00:31:28,730 --> 00:31:30,433 kecuali ia memotong pada satu masa nanti. 684 00:31:30,433 --> 00:31:33,474 PENONTON: Apa yang terjadi jika anda melakukan Sejarah [terdengar] perintah dan kesilapan 685 00:31:33,474 --> 00:31:35,430 dalam keputusan akan tetap dicetak the-- 686 00:31:35,430 --> 00:31:44,110 >> ROB Bowden: Ya, jika ada kesalahan di salah satu commands-- ini 687 00:31:44,110 --> 00:31:48,090 jadi mari kita katakan, yang merupakan perintah kesalahan tidak dijumpai. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 Masih muncul dalam sejarah. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 Baik. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 Soalan-soalan lain mengenai apa-apa? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 Jadi itu bang. 696 00:32:00,300 --> 00:32:04,230 >> Sekarang, perintah benar-benar berguna, manusia. 697 00:32:04,230 --> 00:32:07,750 Jadi yang memberikan anda manual untuk arahan yang diberikan. 698 00:32:07,750 --> 00:32:11,640 Jadi, bila man ls, jadi ini menunjukkan kepada saya ls. 699 00:32:11,640 --> 00:32:13,400 Ia menyenaraikan kandungan direktori. 700 00:32:13,400 --> 00:32:17,150 Dan ini adalah di mana saya melihat bahawa ada adalah berbagai bendera yang ada. 701 00:32:17,150 --> 00:32:21,340 Jadi kita lihat bahawa ls -l wujud jika kita membaca bahawa. ls-l 702 00:32:21,340 --> 00:32:26,150 memberi saya penyenaraian ini penuh dengan direktori dengan yang memiliki fail, 703 00:32:26,150 --> 00:32:29,750 saiz fail, yang timestamp diubah suai. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 Jadi ls -a adalah satu lagi yang anda mungkin benar-benar menggunakan agak kerap. 706 00:32:34,980 --> 00:32:38,130 -al adalah bendera yang biasa saya ini ls terakhir. 707 00:32:38,130 --> 00:32:42,520 >> Jadi -a, perhatikan ada banyak lebih banyak fail daripada sekadar ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 Apa yang sama dengan semua fail-fail ini? 710 00:32:46,170 --> 00:32:47,790 Mereka bermula dengan titik. 711 00:32:47,790 --> 00:32:54,710 Jadi ini adalah konvensyen di Linux yang fail yang bermula dengan titik yang tersembunyi. 712 00:32:54,710 --> 00:32:58,330 Jadi itu hanya bererti bahawa ketika kita hanya ls lurus, 713 00:32:58,330 --> 00:33:04,170 atau kita mencari direktori ini menggunakan setara yang menjumpainya, atau Windows 714 00:33:04,170 --> 00:33:07,250 Explorer setara, bahawa kita tidak mahu untuk melihat fail-fail ini titik. 715 00:33:07,250 --> 00:33:09,680 Mereka hanya mencemarkan pandangan hal. 716 00:33:09,680 --> 00:33:11,790 Jadi mereka tersembunyi kecuali Anda secara khusus 717 00:33:11,790 --> 00:33:14,250 meminta mereka dengan sesuatu seperti -a. 718 00:33:14,250 --> 00:33:18,920 Jadi saya dapat cd ke .local, dan saya melihat bahawa yang itu sendiri merupakan direktori dengan 719 00:33:18,920 --> 00:33:22,220 direktori yang dikongsi bersama, dan aplikasi, dan bla bla bla. 720 00:33:22,220 --> 00:33:24,520 Jadi titik, fail mereka hanya tersembunyi. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> OK, yang penting supaya lain. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 Saya punya beberapa saya boleh melompat. 725 00:33:32,000 --> 00:33:38,160 Mari kita bercakap hanya benar pantas mengenai perkara-perkara yang fail redirection. 726 00:33:38,160 --> 00:33:43,020 Jadi ada satu siri kompleks keseluruhan perkara yang anda boleh lakukan dengan ini, 727 00:33:43,020 --> 00:33:47,204 tetapi hanya untuk melihat mereka, katakanlah, gema. 728 00:33:47,204 --> 00:33:47,870 Satu lagi perintah. 729 00:33:47,870 --> 00:33:48,920 Arahan benar-benar bodoh. 730 00:33:48,920 --> 00:33:50,710 Semua hal ini adalah apa yang saya cetak kirim ke. 731 00:33:50,710 --> 00:33:52,070 Jadi echo khabar. 732 00:33:52,070 --> 00:33:53,850 Ia hanya bergema menyapa skrin. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Hello dunia. 735 00:33:56,390 --> 00:33:57,890 Gema hello world. 736 00:33:57,890 --> 00:34:02,650 >> Jadi satu arahan atau satu simbol yang Bash memahami 737 00:34:02,650 --> 00:34:07,620 adakah ini yang lebih besar dari simbol, dan iaitu output ke simbol fail. 738 00:34:07,620 --> 00:34:10,940 Jadi jika saya output ini untuk foo, kini adalah fail 739 00:34:10,940 --> 00:34:15,100 disebut foo, dalam yang Halo dunia. 740 00:34:15,100 --> 00:34:18,489 Jadi melihat bahawa apabila saya echo hello paip dunia ke foo, 741 00:34:18,489 --> 00:34:19,980 ia tidak echo hello world. 742 00:34:19,980 --> 00:34:22,630 Sebaliknya, ia telah dimasukkan ke dalam fail foo. 743 00:34:22,630 --> 00:34:25,340 Dan arahan lain hanya membuangnya pada anda, kucing. 744 00:34:25,340 --> 00:34:29,191 Itulah cara yang mudah hanya benar-benar daftar isi dari fail 745 00:34:29,191 --> 00:34:31,440 supaya saya tidak perlu membuka editor teks untuk melihatnya. 746 00:34:31,440 --> 00:34:34,159 Jadi kandungan fail foo adalah hello world. 747 00:34:34,159 --> 00:34:38,460 Dan saya boleh kucing blah.c, isinya ini. 748 00:34:38,460 --> 00:34:42,123 >> Sekali lagi, ini adalah perintah itu, tidak berharap anda mempunyai mereka semua hafal. 749 00:34:42,123 --> 00:34:43,860 Idea ini anda telah melihat mereka. 750 00:34:43,860 --> 00:34:45,735 Mungkin anda bekerja pada sesuatu, dan anda 751 00:34:45,735 --> 00:34:47,230 seperti saya muak membuka fail ini. 752 00:34:47,230 --> 00:34:50,120 Saya berharap saya boleh melihat di isi cepat. 753 00:34:50,120 --> 00:34:52,320 Anda boleh melakukan itu, maka melihat kembali dan mengatakan oh saya 754 00:34:52,320 --> 00:34:55,250 ingat sesuatu seperti yang ada, dan itu kucing. 755 00:34:55,250 --> 00:35:00,630 >> Jadi yang akan fail. 756 00:35:00,630 --> 00:35:06,639 Sekarang tidak ada benar-benar apa-apa yang baik contoh membaca dari fail lagi. 757 00:35:06,639 --> 00:35:08,930 Apakah sesuatu yang membutuhkan sesuatu dari standard dalam? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 Setiap perintah Linux mudah? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 Apabila kita sampai ke sana, dalam pasangan minggu semua piece-- baik, 762 00:35:16,970 --> 00:35:20,470 minggu ini anda mempunyai sebidang di mana anda mula mengambil input dari pengguna. 763 00:35:20,470 --> 00:35:23,696 Dan sehingga biasanya anda menaip input yang di keyboard. 764 00:35:23,696 --> 00:35:25,570 Daripada menaip input di papan kekunci, 765 00:35:25,570 --> 00:35:30,950 Anda malah dapat pipa dari fail supaya apabila anda melakukan Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 paip masuk dari mana-mana fail yang diberikan, dan itu akan menjalankan program mario itu. 767 00:35:35,200 --> 00:35:37,300 Tidak mengharapkan masukan pada papan kekunci, bukan itu 768 00:35:37,300 --> 00:35:39,650 hanya akan membaca baris dari fail foo itu. 769 00:35:39,650 --> 00:35:45,230 >> Jadi lebih besar daripada foo menempatkan ke fail foo, dan kurang daripada foo 770 00:35:45,230 --> 00:35:50,170 mengambil barang-barang dari fail foo dan menggunakan itu sebagai input untuk program ini. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 Dan hanya untuk melihatnya, kita juga boleh echo bar baz foo, dan kemudian, bukan satu 773 00:36:00,630 --> 00:36:03,850 lebih besar daripada, mari kita buat dua ke foo. 774 00:36:03,850 --> 00:36:05,610 Apa yang dilakukan? 775 00:36:05,610 --> 00:36:07,180 Ia hanya menyertakan kepada fail. 776 00:36:07,180 --> 00:36:15,360 Jadi, melihat jika saya echo blah ke foo dan kemudian kucing foo, ia hanya bla. 777 00:36:15,360 --> 00:36:18,285 Oleh itu, apabila anda output ke satu fail, ia sepenuhnya akan menimpa file itu. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 Jika anda hanya mahu menambahkan, double [? grader. ?] 780 00:36:22,740 --> 00:36:24,080 >> Dan terakhir adalah paip. 781 00:36:24,080 --> 00:36:29,590 Paip Dapat lebih rumit, di mana ia mengambil output dari satu perintah 782 00:36:29,590 --> 00:36:32,320 dan feed ke dalam perintah seterusnya. 783 00:36:32,320 --> 00:36:36,140 Jadi beberapa hal yang umum, sejarah. 784 00:36:36,140 --> 00:36:37,920 Jadi, ugh, saya tidak mahu lihat ini. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 Tunjukkan semua perintah dalam sejarah saya di mana saya grep-ed untuk sesuatu. 787 00:36:44,485 --> 00:36:45,360 Tidak, itu mengelirukan. 788 00:36:45,360 --> 00:36:50,360 Tunjukkan semua perintah di mana saya mencari. 789 00:36:50,360 --> 00:36:52,360 Semua menemukan perintah yang pernah saya berlari. 790 00:36:52,360 --> 00:36:55,050 >> Jadi sejarah. 791 00:36:55,050 --> 00:36:59,017 Sekarang output sejarah ke menapis senarai ini perintah, 792 00:36:59,017 --> 00:37:00,850 tetapi saya tidak mahu output ke skrin. 793 00:37:00,850 --> 00:37:03,445 Sebaliknya saya akan pipa ke grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 Jadi mari kita grep untuk semua contoh find. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 Jadi sekarang bukan pengambilan grep input, bukan daripada- 798 00:37:17,000 --> 00:37:24,360 grep mampu menangani sebagai input-- kami menggunakan grep sedikit berbeza di sini. 799 00:37:24,360 --> 00:37:29,550 Jadi, daripada menaip senarai hal yang kita ingin mencari 800 00:37:29,550 --> 00:37:31,070 dan berkata grep mengambil sebagai input. 801 00:37:31,070 --> 00:37:34,810 Jadi jika saya hanya grep mencari, ia menunggu untuk saya untuk menaip sesuatu. 802 00:37:34,810 --> 00:37:37,661 Jadi kucing hello mencari. 803 00:37:37,661 --> 00:37:38,160 Hello. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 Cari. 806 00:37:40,930 --> 00:37:43,670 Perhatikan setiap kali saya menaip mencari ia menyedari bahawa saya menaip find. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 Jadi, daripada ini, akan file carian untuk mencari. 809 00:37:49,540 --> 00:37:53,930 >> Jadi sejarah sekarang akan output senarai semua perintah. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 Kami meletakkan output yang, dan kami memberi makan kepada grep, 812 00:37:58,100 --> 00:38:00,180 dan jadi ia menyemburkan semua contoh find. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 Alasan saya mengatakan ia akan membingungkan adalah jika aku-- itu masih membingungkan. 815 00:38:05,570 --> 00:38:07,030 Jika saya grep untuk grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 Notis itu cukup banyak sentiasa menunjukkan arahan saya hanya 818 00:38:11,130 --> 00:38:15,280 berlari kerana perintah yang sendiri mempunyai grep di dalamnya. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> OK, jadi apa-apa soalan mengenai apa-apa? 821 00:38:20,674 --> 00:38:22,340 Dan saya akan memindahkannya ke arah hal ini. 822 00:38:22,340 --> 00:38:24,690 Mudah-mudahan ini adalah baik gambaran keseluruhan semua perintah 823 00:38:24,690 --> 00:38:30,100 bahawa anda tidak perlu mempunyai hafal, tetapi ini membuat 824 00:38:30,100 --> 00:38:32,950 yang kukuh 95% daripada apa yang saya lakukan pada baris arahan. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 Juga perlu diingat bahawa baris arahan itu sendiri, bash adalah bahasa pengaturcaraan, 827 00:38:39,140 --> 00:38:43,070 dan sebagainya apabila anda turun ke sana, anda mungkin mahu melakukan perkara-perkara yang sangat kompleks. 828 00:38:43,070 --> 00:38:47,522 Dan jadi ia mempunyai hal-hal seperti gelung, dan jika, dan semua orang-orang 829 00:38:47,522 --> 00:38:50,230 bahawa anda akan membiasakan diri dengan bahasa pengaturcaraan anda. 830 00:38:50,230 --> 00:38:53,660 Tetapi itu adalah di luar skop seksyen ini. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 OK, jadi ada soalan? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 Allison: Tiada? 835 00:38:58,523 --> 00:38:59,450 Gabriel: Adakah anda akan supaya- 836 00:38:59,450 --> 00:39:01,158 Allison: Saya boleh melakukannya pada saya jika anda mahu. 837 00:39:01,158 --> 00:39:02,626 Kita boleh melihat apa yang berlaku. 838 00:39:02,626 --> 00:39:03,750 ROB Bowden: Tak aktif untuk Allison. 839 00:39:03,750 --> 00:39:05,090 Allison: Woo. 840 00:39:05,090 --> 00:39:07,504 Kau tindakan keras untuk diikuti, Rob. 841 00:39:07,504 --> 00:39:08,920 Adakah anda mahu saya untuk beralih dengan anda? 842 00:39:08,920 --> 00:39:10,246 Atau anda punya, OK. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 Saya akan cuba dan tidak cukup seperti yang panjang di sana. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 Mari kita lihat apakah kemahuan ini bekerja seperti yang saya inginkan. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 Mungkin? 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 Ya. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> Jadi, saya hanya akan pergi dengan cepat melalui pembolehubah, gelung, conditional, 854 00:39:34,066 --> 00:39:35,440 dan sedikit di compiler. 855 00:39:35,440 --> 00:39:38,570 Jika anda mempunyai soalan di bila-bila masa, sila menghentikan saya. 856 00:39:38,570 --> 00:39:42,750 Orang-orang ini akan mengingatkan saya untuk mengulangi pertanyaan anda jika saya lupa, 857 00:39:42,750 --> 00:39:44,210 tetapi tidak boleh terlalu buruk. 858 00:39:44,210 --> 00:39:45,850 >> Jadi pembolehubah, yeah. 859 00:39:45,850 --> 00:39:48,060 Kami tidak mempunyai salah satu daripada anda Potongan awal di sini. 860 00:39:48,060 --> 00:39:50,440 Saya yakin sebahagian besar daripada anda, jika Anda mempunyai beberapa jenis permainan 861 00:39:50,440 --> 00:39:53,810 yang Anda buat dengan Awal, anda mempunyai untuk mengesan sesuatu seperti skor, 862 00:39:53,810 --> 00:39:55,870 atau masa, atau sesuatu seperti itu. 863 00:39:55,870 --> 00:39:58,080 Maka orang-orang oren terang potongan-potongan yang kita lihat ada 864 00:39:58,080 --> 00:40:02,630 hanyalah bentuk Gores dari pembolehubah, dan anda pasti akan 865 00:40:02,630 --> 00:40:04,640 akan menggunakan pembolehubah sepanjang program anda. 866 00:40:04,640 --> 00:40:07,350 Jika anda tidak, saya tidak benar-benar yakin apa yang anda lakukan. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> Tapi bagaimanapun, hal yang besar, mendefinisikan variabel. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 Dengan C setiap pembolehubah mempunyai mempunyai jenis yang diisytiharkan, 871 00:40:16,970 --> 00:40:22,090 jadi saya memberikan sambutan yang sangat satu umum di bahagian atas. 872 00:40:22,090 --> 00:40:24,045 Jadi, anda akan mempunyai anda menaip dan kemudian apa sahaja 873 00:40:24,045 --> 00:40:25,420 anda membuat keputusan untuk memanggil variabel. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 Jadi dalam hal ini, jenis dalam senarai variabel. 876 00:40:29,680 --> 00:40:31,400 >> Kami mempunyai tiga contoh. 877 00:40:31,400 --> 00:40:34,439 Char dari beberapa kelas, dari A, yang adalah apa yang 878 00:40:34,439 --> 00:40:36,230 Saya pasti anda semua mahu untuk masuk kelas ini. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 Anda boleh menentukan beberapa pembolehubah dalam satu baris 881 00:40:40,670 --> 00:40:43,880 selama mereka semua jenis yang sama, yang merupakan contoh kedua kami di sana 882 00:40:43,880 --> 00:40:46,409 di mana anda mempunyai tiga pembolehubah, x, y, dan z. 883 00:40:46,409 --> 00:40:47,200 Mereka semua mengapung. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 Dan kemudian anda juga boleh, dalam hal ini terakhir contoh dengan skor int dan nombor 886 00:40:53,250 --> 00:40:56,510 pasukan, anda boleh memulakan mereka di sana. 887 00:40:56,510 --> 00:41:01,270 >> Jadi dalam contoh di tengah-tengah di mana kita hanya perlu apungan x, y, dan z, 888 00:41:01,270 --> 00:41:02,730 tersebut tidak dimulakan lagi. 889 00:41:02,730 --> 00:41:04,140 Mereka tidak memiliki nilai. 890 00:41:04,140 --> 00:41:05,600 Atau mereka mempunyai nilai-nilai sampah. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 Dan jika anda mencuba dan menggunakannya, compiler akan berteriak pada Anda. 893 00:41:10,790 --> 00:41:14,727 Anda mempunyai kedua-duanya menyatakan dan memulakan pembolehubah anda. 894 00:41:14,727 --> 00:41:16,310 Jadi pada yang terakhir ini, kami melakukan kedua-duanya. 895 00:41:16,310 --> 00:41:19,320 Kami mengisytiharkan pembolehubah dari skor dan jumlah pasukan, 896 00:41:19,320 --> 00:41:24,134 dan kami Memulakan mereka, memberi nilai-nilai awal mereka dari 7 dan 4 897 00:41:24,134 --> 00:41:24,675 masing-masing. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 Sejuk. 900 00:41:27,190 --> 00:41:28,550 Semua orang yang baik? 901 00:41:28,550 --> 00:41:29,470 Awesome. 902 00:41:29,470 --> 00:41:31,690 >> OK, sehingga beberapa konvensyen. 903 00:41:31,690 --> 00:41:35,965 Jika kalian telah membaca melalui gaya 50, ini 904 00:41:35,965 --> 00:41:39,510 hanya perkara yang kita ingin untuk Anda untuk melaksanakan dalam gaya anda. 905 00:41:39,510 --> 00:41:41,230 Jadi nama-nama yang bermakna. 906 00:41:41,230 --> 00:41:45,700 Jika anda mula menyebut perkara hanya x, y, dan z, terutama 907 00:41:45,700 --> 00:41:47,902 ketika Anda masuk ke lebih panjang program, anda 908 00:41:47,902 --> 00:41:49,610 mungkin akan mengelirukan diri sendiri dan menjadi 909 00:41:49,610 --> 00:41:52,930 seperti apa yang berubah-ubah ini merujuk kepada. 910 00:41:52,930 --> 00:41:55,880 Saya tidak tahu apa ini bermakna. 911 00:41:55,880 --> 00:41:59,280 >> Jadi, jika itu dimaksudkan untuk memegang skor, menyebutnya skor. 912 00:41:59,280 --> 00:42:05,720 Jika itu dimaksudkan untuk memegang beberapa jawapan atau memberi, memberikan nama seperti itu. 913 00:42:05,720 --> 00:42:09,920 Untuk gelung, yang kita akan masuk ke dalam slaid yang akan datang, 914 00:42:09,920 --> 00:42:12,985 pembolehubah huruf-baik saja. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ROB Bowden: I, j, dan k ialah hanya konvensyen untuk loop 917 00:42:18,449 --> 00:42:22,050 bahwa setiap orang mengharapkan mereka untuk dipanggil i, j, dan k. 918 00:42:22,050 --> 00:42:26,890 Anda boleh memanggil them-- saya melihat baris lajur atau baris panggilan kadang-kadang 919 00:42:26,890 --> 00:42:29,450 selama dua gelung bersarang, dan itu juga jenis standard. 920 00:42:29,450 --> 00:42:31,450 Tapi i dan j adalah difahami sepenuhnya. 921 00:42:31,450 --> 00:42:33,670 >> Allison: Ya, saya dan j Anda benar-benar baik. 922 00:42:33,670 --> 00:42:36,250 Demi kejelasan seperti di beberapa set P, 923 00:42:36,250 --> 00:42:39,745 ia mungkin masuk akal untuk mempunyai lebih banyak perkara deskriptif di sana hanya 924 00:42:39,745 --> 00:42:40,920 untuk mengesan ia. 925 00:42:40,920 --> 00:42:45,100 Tetapi saya fikir i, j, k dan saya fikir sebahagian besar dari kita semua digunakan. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ROB Bowden: Dengan konvensyen, jadi gaya adalah penting. 928 00:42:50,340 --> 00:42:53,520 Ia adalah salah satu daripada empat paksi di mana anda sedang dinilai, 929 00:42:53,520 --> 00:42:58,110 dan ia adalah begitu mudah untuk hanya pergi P anda ditetapkan pada akhir dan memastikan 930 00:42:58,110 --> 00:42:59,770 bahawa tidak ada kesilapan gaya. 931 00:42:59,770 --> 00:43:01,742 Jadi, pastikan anda tabbing betul. 932 00:43:01,742 --> 00:43:03,200 Pastikan variabel Anda diberi nama. 933 00:43:03,200 --> 00:43:04,450 Meninggalkan beberapa komen. 934 00:43:04,450 --> 00:43:06,677 Ia adalah sangat mudah untuk mendapatkan orang-mata. 935 00:43:06,677 --> 00:43:09,510 Anda tidak perlu untuk berfikir tentang apa-apa untuk mendapatkan titik-titik. 936 00:43:09,510 --> 00:43:11,093 Anda tidak perlu memikirkan apa-apa. 937 00:43:11,093 --> 00:43:12,640 Ia hanya menjadikan ia kelihatan cantik. 938 00:43:12,640 --> 00:43:14,850 >> Allison: Sebenarnya, kita mempunyai gaya 50, yang 939 00:43:14,850 --> 00:43:17,920 akan memberitahu anda di mana anda bermain-main jika anda sedang bermain-main di atas gaya 940 00:43:17,920 --> 00:43:21,180 dan akan memberitahu anda apa yang anda harus memperbaiki dan bagaimana anda perlu membaikinya. 941 00:43:21,180 --> 00:43:23,900 Ia juga hanya baik lagi bahawa itu dasar kursus 942 00:43:23,900 --> 00:43:27,200 bahawa jika anda berada di pejabat jam dan kod anda adalah keadaan kucar-kacir, 943 00:43:27,200 --> 00:43:30,200 kita boleh menolak untuk membantu Anda sehingga ia kelihatan lebih bagus. 944 00:43:30,200 --> 00:43:34,310 Jadi bermula tepat, menjaga gaya yang konsisten, 945 00:43:34,310 --> 00:43:37,100 Anda juga hanya akan membuat kehidupan anda dengan lebih mudah apabila 946 00:43:37,100 --> 00:43:38,730 anda cuba untuk pergi melalui debug. 947 00:43:38,730 --> 00:43:41,510 Jika anda cuba untuk mencari tahu mana kau hilang pendakap kerinting 948 00:43:41,510 --> 00:43:44,890 dan mereka di mana-mana, anda hanya membuat hidup anda lebih keras. 949 00:43:44,890 --> 00:43:47,217 Jadi konsisten dengan gaya. 950 00:43:47,217 --> 00:43:48,800 Saya berjanji itu akan membuat hidup anda lebih mudah. 951 00:43:48,800 --> 00:43:50,330 Ini akan membuat kehidupan kita lebih mudah. 952 00:43:50,330 --> 00:43:51,869 Semua orang akan lebih gembira. 953 00:43:51,869 --> 00:43:52,910 Dan itulah apa yang anda mahu. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 Gabriel: kelas anda akan lebih tinggi. 956 00:43:55,650 --> 00:43:56,858 Allison: Ya, dan kelas anda. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 Jika TF anda seperti anda, cenderung untuk menjadi menguntungkan. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 Baiklah, dan kemudian hanya perkara kedua di sini. 961 00:44:05,010 --> 00:44:06,300 Initializations konsisten. 962 00:44:06,300 --> 00:44:09,605 Jadi seperti yang kita lihat, anda boleh menyatakan dan memulakan sesuatu. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 Beberapa pembolehubah pada baris yang sama. 965 00:44:13,180 --> 00:44:17,930 Satu perkara yang kami ingin anda tidak lakukan adalah untuk menyatakan beberapa variabel 966 00:44:17,930 --> 00:44:21,360 dan tidak memulakan mereka pada yang sama garis yang anda Memulakan orang lain. 967 00:44:21,360 --> 00:44:23,960 >> Jadi dalam hal yang membuat tidak masuk akal sama sekali, 968 00:44:23,960 --> 00:44:29,050 kita mempunyai contoh di sini di mana kita mengisytiharkan ints 969 00:44:29,050 --> 00:44:31,180 dalam pembolehubah kuarters dime dan beberapa sen, 970 00:44:31,180 --> 00:44:34,214 tetapi pihak dan beberapa sen tidak mempunyai nilai awal. 971 00:44:34,214 --> 00:44:36,630 Kami tidak dimulakan mereka, tetapi betul-betul di tengah-tengah ada 972 00:44:36,630 --> 00:44:38,600 kita sudah dimulakan dime ke 0. 973 00:44:38,600 --> 00:44:41,650 Jadi baik lakukan pihak, dime, beberapa sen. 974 00:44:41,650 --> 00:44:43,170 Atau apakah pihak sama dengan 0. 975 00:44:43,170 --> 00:44:43,930 Dimes sama dengan 0. 976 00:44:43,930 --> 00:44:46,810 Beberapa sen sama dengan 0, atau apa sahaja nilai-nilai awal adalah. 977 00:44:46,810 --> 00:44:49,800 >> Hal yang besar dengan gaya, konsisten. 978 00:44:49,800 --> 00:44:51,050 Apabila ragu-ragu, konsisten. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 Tetapi mengikuti panduan gaya kita juga. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 Sejuk. 983 00:44:55,317 --> 00:44:56,150 Semua orang yang baik di sana? 984 00:44:56,150 --> 00:44:57,566 >> PENONTON: Di mana panduan gaya? 985 00:44:57,566 --> 00:45:00,800 Allison: Panduan gaya adalah on-- apa laman web? 986 00:45:00,800 --> 00:45:03,950 >> Gabriel: Saya rasa ia 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 Yep. 991 00:45:06,920 --> 00:45:07,520 >> Allison: Ya. 992 00:45:07,520 --> 00:45:10,150 Maka bertanyalah, di mana adalah gaya 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 Ya? 995 00:45:13,639 --> 00:45:16,880 >> PENONTON: Kalau kita mendefinisikan pembolehubah, ia adalah OK 996 00:45:16,880 --> 00:45:28,145 jika kita meletakkan seperti [terdengar] seperti skor int dan kemudian tujuan int. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 Jadi, anda akan mengatakan bahawa sekarang kita sudah dapat menentukan nasib mereka bersama-sama? 999 00:45:35,100 --> 00:45:37,640 >> Allison: Maka bertanyalah, sekiranya Anda mempunyai kod berlebihan 1000 00:45:37,640 --> 00:45:40,940 apabila anda mendefinisikan pembolehubah seperti nilai int dan 1001 00:45:40,940 --> 00:45:43,239 on line permainan int seterusnya? 1002 00:45:43,239 --> 00:45:46,030 ROB Bowden: Tidak pasti kes di mana kod berlebihan tidak baik. 1003 00:45:46,030 --> 00:45:47,738 Saya tidak akan mempertimbangkan bahawa kod berlebihan. 1004 00:45:47,738 --> 00:45:50,970 Aku hampir tidak pernah menyatakan beberapa pembolehubah pada baris yang sama lamanya. 1005 00:45:50,970 --> 00:45:53,736 Dan jika apa-apa, ia adalah kerana biasanya saya meninggalkan beberapa jenis komen 1006 00:45:53,736 --> 00:45:55,235 menjelaskan apa yang berubah-ubah adalah untuk. 1007 00:45:55,235 --> 00:45:57,582 Jadi saya akan mengatakan skor int slash slash. 1008 00:45:57,582 --> 00:45:59,350 Menjejaki apa sahaja. 1009 00:45:59,350 --> 00:46:00,710 Keseluruhannya slash slash. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 Sehingga jauh lebih kotor dengan cara itu untuk menempatkan mereka semua pada baris yang sama. 1012 00:46:06,455 --> 00:46:08,080 Saya tidak pernah meletakkan mereka pada baris yang sama. 1013 00:46:08,080 --> 00:46:10,580 >> Allison: Saya rasa seperti itu keutamaan peribadi pada ketika ini. 1014 00:46:10,580 --> 00:46:14,900 >> PENONTON: Apakah itu pergi untuk untuk gelung dan hal-hal juga? 1015 00:46:14,900 --> 00:46:15,900 ROB Bowden: Seperti di dalam? 1016 00:46:15,900 --> 00:46:18,282 Seperti int i sama dengan 0 koma panjang sama dengan sesuatu? 1017 00:46:18,282 --> 00:46:19,490 Bahawa anda tidak mempunyai pilihan. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 Dengan gelung untuk pengawalan part-- jadi anda mungkin hanya melihat 1020 00:46:25,910 --> 00:46:31,520 int i sama dengan 0 koma i kurang daripada apa-apa titik koma i plus plus. 1021 00:46:31,520 --> 00:46:33,820 Itu int i sama dengan 0, secara teknikal anda juga boleh 1022 00:46:33,820 --> 00:46:35,770 melakukan apa yang kita lihat sebelum ini dengan sintaks koma. 1023 00:46:35,770 --> 00:46:39,790 int i sama dengan 0 koma j bersamaan 3 koma k sama dengan 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 Anda tidak mempunyai pilihan untuk berpecah bahawa sehingga menjadi beberapa baris, 1026 00:46:44,320 --> 00:46:46,530 dan itulah standard. 1027 00:46:46,530 --> 00:46:47,780 Melihat itu ada baik-baik saja. 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 Allison: Awesome. 1030 00:46:49,890 --> 00:46:52,120 Nah, Shalawat mudah ke dalam gelung. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 Jadi ya, di sini kita mempunyai beberapa contoh dari gelung yang kalian lihat dalam Scratch. 1033 00:46:58,980 --> 00:47:01,550 Dan sudah tentu semua ini hanya boleh dihasilkan di C. 1034 00:47:01,550 --> 00:47:04,610 Dan mereka pada dasarnya membolehkan anda untuk mengulangi beberapa seksyen kod 1035 00:47:04,610 --> 00:47:06,740 sehingga keadaan tertentu dipenuhi, yang kita akan 1036 00:47:06,740 --> 00:47:09,198 masuk ke dalam selepas bercakap tentang gelung dengan conditional. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> Jadi, kita mempunyai tiga jenis utama. 1039 00:47:12,570 --> 00:47:17,500 Kerana, semasa, dan dilakukan sementara, yang kita semua akan melalui sekarang. 1040 00:47:17,500 --> 00:47:18,860 Jadi yang pertama adalah untuk gelung. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 Jadi untuk beberapa syarat, melaksanakan blok kod. 1043 00:47:25,034 --> 00:47:27,200 Kami mempunyai sedikit sejuk ini diagram di sini di bahagian bawah. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 Tapi pada dasarnya yang ada dalam untuk anda, yang baris pertama, 1046 00:47:32,310 --> 00:47:34,240 Anda akan memulakan pembolehubah anda. 1047 00:47:34,240 --> 00:47:38,260 >> Jadi seperti yang kita bercakap tentang, saya adalah sama dengan 0 atau saya adalah sama dengan 10. 1048 00:47:38,260 --> 00:47:40,010 Apa sahaja yang anda perlu itu berubah menjadi itu 1049 00:47:40,010 --> 00:47:43,970 akan dimulakan di sana, dinyatakan dan dimulakan untuk beberapa nilai. 1050 00:47:43,970 --> 00:47:46,760 Jadi kita mempunyai beberapa keadaan yang berlaku 1051 00:47:46,760 --> 00:47:48,900 untuk memeriksa kami variabel terhadap sesuatu. 1052 00:47:48,900 --> 00:47:55,220 Jadi dalam kes kes khas di mana mungkin anda ingin bagian kod 1053 00:47:55,220 --> 00:47:56,620 untuk melaksanakan lima kali. 1054 00:47:56,620 --> 00:48:02,380 Oleh itu, kita harus int i sama dengan 0, dan kami inginkan ketika saya kurang dari 5. 1055 00:48:02,380 --> 00:48:04,940 Jadi keadaan itu hanya akan memeriksa bahawa setiap kali. 1056 00:48:04,940 --> 00:48:07,120 Jika syarat bernilai true, itu 1057 00:48:07,120 --> 00:48:11,162 akan menjalankan kod, yang betul-betul apa gambarajah kecil ini menunjukkan. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> Dan jadi ia melaksanakannya. 1060 00:48:13,639 --> 00:48:15,430 Ini update variabel, iaitu apa yang kita lihat 1061 00:48:15,430 --> 00:48:21,020 di bahagian akhir untuk kami gelung pengawalan di sana. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 Oleh itu, ia hanya akan terus melakukan hal ini sehingga syarat tidak dipenuhi, 1064 00:48:26,030 --> 00:48:28,010 dan kemudian ia akan keluar gelung dan terus 1065 00:48:28,010 --> 00:48:29,960 beralih dengan seluruh program anda. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 Semua orang yang baik di sana? 1068 00:48:33,620 --> 00:48:34,440 Sejuk. 1069 00:48:34,440 --> 00:48:37,780 >> Jadi, inilah contoh, hampir sama untuk sesuatu yang saya hanya bercakap tentang. 1070 00:48:37,780 --> 00:48:42,030 Oleh itu, kita hanya ingin mencetak ini adalah CS50 10 kali. 1071 00:48:42,030 --> 00:48:44,540 Jadi anda lihat di sini kita mempunyai untuk kita, dan kemudian kita 1072 00:48:44,540 --> 00:48:47,450 memulakan pembolehubah i untuk menjadi sama dengan 0. 1073 00:48:47,450 --> 00:48:50,610 Keadaan kita adalah memeriksa bahawa itu kurang daripada 10. 1074 00:48:50,610 --> 00:48:55,210 Jadi mengevaluasi benar ketika kita pertama kali bermula, dan kemudian update variabel kita 1075 00:48:55,210 --> 00:48:58,985 setiap kali itu benar-benar melaksanakan dan mencetak keluar ini adalah CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 Dan akan tamat selepas 10 kali. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 Sejuk. 1080 00:49:04,070 --> 00:49:07,130 >> Oleh itu, sambil loop berikutnya. 1081 00:49:07,130 --> 00:49:12,400 Dan seperti yang anda lihat di sini, kita hanya perlu manakala beberapa soalan ini condition--? 1082 00:49:12,400 --> 00:49:15,238 >> PENONTON: Bagaimana saya boleh melompat sebenarnya hanya tidak satu nombor, 1083 00:49:15,238 --> 00:49:19,030 tetapi dua nombor [terdengar] i plus plus plus? 1084 00:49:19,030 --> 00:49:23,390 >> Allison: Jadi pertanyaannya adalah bagaimana anda boleh mengemaskini pembolehubah anda dengan lebih daripada satu 1085 00:49:23,390 --> 00:49:24,070 pada satu masa. 1086 00:49:24,070 --> 00:49:26,860 Jadi saya plus plus akan update dengan satu setiap kali. 1087 00:49:26,860 --> 00:49:32,310 Jika anda ingin mengemas kini dengan dua, anda boleh lakukan i ditambah bersamaan 2. 1088 00:49:32,310 --> 00:49:34,526 >> ROB Bowden: Pernahkah anda melihat ditambah sama dalam kuliah lagi? 1089 00:49:34,526 --> 00:49:35,442 >> PENONTON: [didengar]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> Allison: Ini secara efektif hal yang sama seperti saya sama dengan saya ditambah 2. 1092 00:49:42,110 --> 00:49:46,130 Jadi ia akan mengambil dan mengemaskinikannya oleh dua setiap kali. 1093 00:49:46,130 --> 00:49:49,432 Plus bersamaan hanya sesuatu kita sebut gula sintaksis. 1094 00:49:49,432 --> 00:49:52,390 ROB Bowden: Ya, mereka ada untuk hampir semua operator aritmetik. 1095 00:49:52,390 --> 00:49:55,830 Kali jadi saya sama dengan akan menggandakan nombor. 1096 00:49:55,830 --> 00:50:02,590 j jurang sama dengan 3 adalah sama sebagai j j sama dibahagikan dengan 3. 1097 00:50:02,590 --> 00:50:07,399 >> Allison: Atau tolak bersamaan 2 akan pengurangan i oleh dua setiap kali. 1098 00:50:07,399 --> 00:50:08,565 ROB Bowden: Walaupun mod setara. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 Anda tidak pernah melihat pengendali bitwise, tetapi tanda sisipan sama dan ampersand sama, 1101 00:50:13,270 --> 00:50:14,560 semua orang ada. 1102 00:50:14,560 --> 00:50:19,480 >> Allison: Jadi banyak kali, terutama dengan pasangan anda yang pertama P set, 1103 00:50:19,480 --> 00:50:22,527 Anda akan mungkin incrementing oleh satu, jadi saya plus plus, j plus plus 1104 00:50:22,527 --> 00:50:24,610 semua adalah hal yang akan untuk biasanya akan menggunakan. 1105 00:50:24,610 --> 00:50:28,240 Tetapi itu keadaan update sepenuhnya dalam kawalan anda. 1106 00:50:28,240 --> 00:50:32,310 Anda boleh mengemas kini sendiri dengan apa jua kenaikan atau dalam apa jua cara anda membuat keputusan untuk. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 Mungkin anda juga ingin menjadi nombor rawak kadang-kadang. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 Tapi ya, terdapat banyak perkara yang boleh anda lakukan dengan itu. 1111 00:50:39,580 --> 00:50:41,280 Anda tidak terhad kepada i plus plus. 1112 00:50:41,280 --> 00:50:44,400 >> ROB Bowden: Asal tahu ia wujud, ia juga 1113 00:50:44,400 --> 00:50:46,960 wujud dalam bentuk yang lain, plus plus i. 1114 00:50:46,960 --> 00:50:51,410 Jadi, jika anda pernah mencari dalam talian dan kebetulan melihat plus plus i, 1115 00:50:51,410 --> 00:50:52,870 cukup banyak membawa maksud yang sama. 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 Baik? 1120 00:50:56,740 --> 00:50:57,240 Awesome. 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 Oleh itu, sambil gelung. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 Hampir sama. 1125 00:51:02,570 --> 00:51:03,737 Anda mempunyai beberapa keadaan. 1126 00:51:03,737 --> 00:51:05,820 Perkara utama yang perlu melihat di sini adalah daripada harus 1127 00:51:05,820 --> 00:51:08,540 tiga bahagian yang berbeza untuk menyiapkan, kami mempunyai satu. 1128 00:51:08,540 --> 00:51:11,090 Kami hanya mempunyai beberapa keadaan yang sedang diperiksa. 1129 00:51:11,090 --> 00:51:14,920 Dan dengan cara yang sama, selama keadaan yang menilai kepada benar, 1130 00:51:14,920 --> 00:51:16,840 kod anda akan berjalan. 1131 00:51:16,840 --> 00:51:18,870 Dan jika itu salah, itu akan menamatkan, langkah 1132 00:51:18,870 --> 00:51:21,930 ke bahagian seterusnya dari program anda. 1133 00:51:21,930 --> 00:51:25,780 Jadi ini adalah jenis like-- apa yang contoh yang baik untuk memeriksa 1134 00:51:25,780 --> 00:51:27,215 untuk beberapa keadaan normal? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 Gabriel: Walaupun benar. 1137 00:51:30,235 --> 00:51:32,110 Allison: Anda boleh lakukan sementara benar. 1138 00:51:32,110 --> 00:51:33,510 Nah, 1 adalah sama dengan 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ROB Bowden: Anda boleh melakukan while-- hanya bukan menggunakan untuk loop, 1141 00:51:37,642 --> 00:51:39,600 Anda selalu dapat kode untuk gelung dalam gelung sementara, 1142 00:51:39,600 --> 00:51:42,600 jadi saya lebih besar dari 0 atau sementara saya kurang dari 10. 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> Allison: Awesome. 1145 00:51:46,010 --> 00:51:50,640 Dan kemudian kita telah lakukan semasa gelung, yang sangat bagus untuk pengesahan pengguna, di mana 1146 00:51:50,640 --> 00:51:55,370 Anda ingin mendapatkan sesuatu dari pengguna anda, lihat jika ia berlaku, 1147 00:51:55,370 --> 00:51:57,060 dan kemudian terus dari sana. 1148 00:51:57,060 --> 00:52:04,000 Jadi salah satu hal yang perlu diketahui adalah dengan lakukan semasa adalah bahawa ia akan melaksanakan, 1149 00:52:04,000 --> 00:52:08,000 dan kemudian ia akan melaksanakan semula jika syarat ini dipenuhi. 1150 00:52:08,000 --> 00:52:11,240 >> Jadi mungkin cara terbaik untuk melakukan ini adalah hanya untuk melihat contoh di sini. 1151 00:52:11,240 --> 00:52:14,620 Jadi seperti yang saya nyatakan tadi, pengguna pengesahan adalah benar-benar useful-- 1152 00:52:14,620 --> 00:52:17,520 atau melakukan sesekali benar-benar berguna dengan pengesahan pengguna. 1153 00:52:17,520 --> 00:52:19,730 Jadi ini hanya akan untuk meminta semula beberapa pengguna 1154 00:52:19,730 --> 00:52:23,640 sehingga mereka nombor positif, yang mungkin berguna untuk set P anda 1155 00:52:23,640 --> 00:52:24,190 minggu ini. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 Dan dalam kes ini, apabila kita pada mulanya menjalankan program ini, 1158 00:52:29,480 --> 00:52:32,260 ia akan mencetak masukkan nombor positif. 1159 00:52:32,260 --> 00:52:34,810 Ia akan mendapatkan beberapa input daripada pengguna, 1160 00:52:34,810 --> 00:52:38,320 dan kemudian ia akan memeriksa input itu terhadap keadaan 1161 00:52:38,320 --> 00:52:39,500 yang anda telah ditetapkan untuk itu. 1162 00:52:39,500 --> 00:52:41,030 >> Jadi dalam hal ini ia akan memeriksa. 1163 00:52:41,030 --> 00:52:44,190 Ia akan berkata, OK, adalah masukan kami negatif, 1164 00:52:44,190 --> 00:52:47,175 atau itu 0 atau negatif, yang akan menjadi tidak sah. 1165 00:52:47,175 --> 00:52:48,300 Demikian maka ia akan kembali segera. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 Soalan? 1168 00:52:50,780 --> 00:52:54,720 >> PENONTON: Adakah ini yang sama kemudian sebagai while jika anda hanya menyalin kod yang 1169 00:52:54,720 --> 00:52:56,680 dan meletakkannya [terdengar] while? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> Allison: Jadi soalan itu akan hal ini sama seperti yang hanya sementara 1172 00:53:05,160 --> 00:53:08,570 gelung jika kita hanya menyalin gelung sementara di atas. 1173 00:53:08,570 --> 00:53:12,440 Jadi dalam hal ini, gelung sementara anda akan memeriksa keadaan pertama. 1174 00:53:12,440 --> 00:53:15,300 Jadi dalam hal ini, jika kita cuba menulis hanya sebagai while loop, 1175 00:53:15,300 --> 00:53:18,010 ia akan berkata sementara input kurang daripada satu. 1176 00:53:18,010 --> 00:53:20,801 Tetapi kita tidak mempunyai satu masukan untuk itu. 1177 00:53:20,801 --> 00:53:24,238 >> PENONTON: Jika anda [terdengar] while termasuk kod ini, 1178 00:53:24,238 --> 00:53:28,166 tetapi kemudian anda dapat mengharungi kod di atas gelung sementara juga. 1179 00:53:28,166 --> 00:53:31,052 Anda hanya mempunyai kod ini [Terdengar] while. 1180 00:53:31,052 --> 00:53:32,760 Allison: Akan perkara yang sama, ya. 1181 00:53:32,760 --> 00:53:37,110 Jadi anda hanya boleh write-- bukan memiliki ya do--. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 Gabriel: Tetapi itu lebih elegan. 1184 00:53:39,350 --> 00:53:41,020 Allison: Ya, itu yang lebih elegan. 1185 00:53:41,020 --> 00:53:44,560 Anda boleh masuk ke dalam reka bentuk dan yang lainnya, tapi ya, anda benar-benar boleh melakukan itu. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 Apa-apa soalan lain? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 OK, sejuk. 1190 00:53:50,250 --> 00:53:55,540 >> Oleh itu, kita telah berbicara banyak tentang keadaan dengan semua gelung ini yang kita ada, 1191 00:53:55,540 --> 00:53:58,615 sehingga kita benar-benar masuk ke syarat dalam ungkapan Boolean. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 Sekali lagi, anda menggunakan ini dalam C, jadi hanya jenis peralihan 1194 00:54:03,440 --> 00:54:06,050 dari antara muka yang lebih grafik untuk benar-benar coding. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> Sejuk, yang begitu besar, jika. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 Pada dasarnya hanya membolehkan kami untuk memperkenalkan beberapa logik ke dalam program dan kami check- 1199 00:54:17,070 --> 00:54:17,790 keadaan sys. 1200 00:54:17,790 --> 00:54:22,150 Jadi dalam hal ini, OK, adalah n lebih besar dari 0? 1201 00:54:22,150 --> 00:54:24,070 Ya, ia adalah, jadi anda boleh menjalankan ini. 1202 00:54:24,070 --> 00:54:28,060 Ia hanya memeriksa beberapa keadaan bahawa anda telah 1203 00:54:28,060 --> 00:54:33,565 ditetapkan, yang saya fikir kita semua selesa dengan memeriksa keadaan. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 Sejuk. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 Jadi jika lain adalah salah satu anda yang lain, Anda boleh mengatakan OK, jika ini adalah benar, 1208 00:54:44,530 --> 00:54:46,150 melakukan hal pertama ini. 1209 00:54:46,150 --> 00:54:48,720 Jika tidak, saya mahu anda lalai dan melakukan sesuatu yang lain. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 Seperti dalam kes ini, anda sama ada memilih angka positif atau nombor negatif. 1212 00:54:55,060 --> 00:54:56,500 Anda hanya mempunyai dua pilihan. 1213 00:54:56,500 --> 00:54:59,550 Anda perlu untuk melaksanakan tidak kira apa input pengguna anda. 1214 00:54:59,550 --> 00:55:02,920 Jadi, anda boleh berkata dengan baik, adalah ia lebih besar dari 0? 1215 00:55:02,920 --> 00:55:03,480 Sejuk. 1216 00:55:03,480 --> 00:55:04,480 Cetak nombor positif. 1217 00:55:04,480 --> 00:55:06,153 Jika tidak, cetak negatif. 1218 00:55:06,153 --> 00:55:06,960 Semua orang yang baik? 1219 00:55:06,960 --> 00:55:14,920 >> Dan kemudian satu perkara untuk mengenali adalah bahawa jika sekiranya syarat itu dipenuhi, 1220 00:55:14,920 --> 00:55:16,650 lain tidak akan pernah juga melaksanakan. 1221 00:55:16,650 --> 00:55:19,210 Hanya salah satu dari ini akan melaksanakan pada satu masa. 1222 00:55:19,210 --> 00:55:20,410 Jadi ini adalah trade off. 1223 00:55:20,410 --> 00:55:21,720 Anda tidak boleh mempunyai kedua-duanya. 1224 00:55:21,720 --> 00:55:23,566 Anda juga harus syarat pertama. 1225 00:55:23,566 --> 00:55:25,440 Anda juga harus jika atau yang lain, tidak kedua-duanya. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 Yang kemudiannya boleh membuat hal-hal lebih rumit, 1228 00:55:28,890 --> 00:55:31,060 kerana anda boleh lakukan jika, yang lain itu, dan kemudian yang lain. 1229 00:55:31,060 --> 00:55:32,810 Jadi dalam hal ini, kita mempunyai tiga keadaan. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 Dan sekali lagi, hanya salah satunya ialah akan berakhir sedang dijalankan. 1232 00:55:38,370 --> 00:55:41,030 Jadi, anda mungkin tertanya-tanya dengan baik, bagaimana jika anda 1233 00:55:41,030 --> 00:55:45,510 mempunyai sesuatu yang dapat memenuhi dua ini. 1234 00:55:45,510 --> 00:55:49,520 Mungkin apa sahaja yang anda sedang memasukkan memenuhi kedua-dua syarat 1235 00:55:49,520 --> 00:55:51,811 untuk jika dan lain jika. 1236 00:55:51,811 --> 00:55:53,060 Satu-satunya perkara yang akan menjalankan 1237 00:55:53,060 --> 00:55:56,240 >> Allison: Sebaik sahaja ia mendapati sesuatu yang memenuhi syarat untuk itu 1238 00:55:56,240 --> 00:55:59,790 bernilai true, itulah yang ia akan lari dan apa-apa lagi. 1239 00:55:59,790 --> 00:56:04,440 Jadi jika anda mempunyai adalah nombor ini antara 0 dan 5 untuk satu pertama anda, 1240 00:56:04,440 --> 00:56:10,530 atau nombor ini antara 3 dan 5 untuk lain jika sebahagian, 1241 00:56:10,530 --> 00:56:15,550 dan anda input number-- yang Saya berkata 0 dan 5 dan- 4. 1242 00:56:15,550 --> 00:56:18,110 Ia akan memukul yang pertama. 1243 00:56:18,110 --> 00:56:20,960 Ia akan mengatakan OK, ini bilangan adalah antara 0 dan 5. 1244 00:56:20,960 --> 00:56:22,480 Melaksanakan dan meninggalkan. 1245 00:56:22,480 --> 00:56:25,340 Ia tidak pernah akan melanda bahawa pilihan kedua. 1246 00:56:25,340 --> 00:56:26,394 Cool? 1247 00:56:26,394 --> 00:56:27,250 Awesome. 1248 00:56:27,250 --> 00:56:31,300 >> OK juga kenyataan suis jika Anda ingin mendapatkan bahkan more-- atau maaf, 1249 00:56:31,300 --> 00:56:31,965 suis yang berikutnya. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 Aku terlalu terburu-buru di sini. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 Sekali lagi, jika beberapa blok di mana seperti yang saya hanya berkata 1254 00:56:39,210 --> 00:56:45,600 adalah sebaik sahaja anda mendapati keadaan yang yang bertemu dan jika lain jika lain, 1255 00:56:45,600 --> 00:56:46,630 ia meninggalkan. 1256 00:56:46,630 --> 00:56:49,560 Jika anda perlu menyemak beberapa perkara, anda 1257 00:56:49,560 --> 00:56:53,000 akan mahu menggunakan kerana ini itu akan memeriksa setiap waktu di sini. 1258 00:56:53,000 --> 00:56:58,060 Jadi ini akan berjalan melalui dan jika itu lebih besar daripada atau sama dengan 90, 1259 00:56:58,060 --> 00:56:59,160 ia akan mencetak itu. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 Dan ia akan berjalan melalui dan memeriksa setiap satu dari ini. 1262 00:57:03,600 --> 00:57:06,444 >> PENONTON: Jadi ini akan menjadi kereta lebih daripada [terdengar]. 1263 00:57:06,444 --> 00:57:07,735 Apakah ini seperti [terdengar]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> Allison: Pertanyaannya adalah apakah ini kereta atau adakah ini melakukan apa yang anda inginkan. 1266 00:57:15,740 --> 00:57:19,830 Ia benar-benar bergantung kepada apa yang yang anda mahu dari program anda. 1267 00:57:19,830 --> 00:57:22,291 >> PENONTON: maksud saya seperti jika anda meletakkan 90 di. 1268 00:57:22,291 --> 00:57:23,290 Allison: Jika anda meletakkan 90-- 1269 00:57:23,290 --> 00:57:24,206 PENONTON: [didengar]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 Gabriel: Anda akan mendapatkan dua perkara. 1272 00:57:27,250 --> 00:57:28,916 Allison: Anda akan mendapatkan dua perkara. 1273 00:57:28,916 --> 00:57:29,420 Ya, dua. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ROB Bowden: Dua? 1276 00:57:33,920 --> 00:57:34,580 >> Allison: No. 1277 00:57:34,580 --> 00:57:35,288 >> ROB Bowden: Empat. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 Jika anda meletakkan 90, ia akan mengatakan anda mendapat nilai A, anda mendapat B, anda mendapat C, 1280 00:57:40,070 --> 00:57:40,545 anda mendapat D. 1281 00:57:40,545 --> 00:57:41,461 >> PENONTON: [didengar]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 Allison: Benar. 1284 00:57:42,820 --> 00:57:44,778 Jadi, saya bergantung kepada apa yang anda mahu dari program anda. 1285 00:57:44,778 --> 00:57:47,050 Kadang-kadang anda perlu memeriksa beberapa perkara. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 Anda akan mendapat banyak lebih dalam apa reka bentuk yang baik adalah anda pergi ke hadapan. 1288 00:57:55,270 --> 00:57:57,090 Perkara penting yang perlu menyedari adalah bahawa ini 1289 00:57:57,090 --> 00:58:01,090 akan memeriksa semua empat syarat di sini. 1290 00:58:01,090 --> 00:58:05,860 Sedangkan jika ini jika lain jika lain jika lain, ia akan memukul bahawa kes pertama, 1291 00:58:05,860 --> 00:58:07,950 ia akan mencetak anda mendapat nilai A dan dilakukan. 1292 00:58:07,950 --> 00:58:10,250 >> ROB Bowden: Walaupun kita memutuskan untuk mengubahnya ke jika 1293 00:58:10,250 --> 00:58:13,880 dan lebih besar dari atau sama dengan 90, jika dan lebih besar dari atau sama dengan 80, 1294 00:58:13,880 --> 00:58:19,710 dan kurang daripada atau sama dengan 89, jika n lebih besar daripada atau sama dengan 70, 1295 00:58:19,710 --> 00:58:23,830 dan n kurang daripada atau sama dengan 79, sehingga akan benar. 1296 00:58:23,830 --> 00:58:27,190 Yang akan melakukan apa yang kita mahu, tetapi ia masih memeriksa setiap satu itu. 1297 00:58:27,190 --> 00:58:34,050 >> Jadi sedangkan dalam senario pertama, jika kita masuk 90 dengan hanya jika lain jika lain jika, 1298 00:58:34,050 --> 00:58:37,300 dan kita melangkah ke 90, maka ia akan membetulkan. 1299 00:58:37,300 --> 00:58:39,615 Ini akan memeriksa pertama satu, cetakan anda mendapat nilai A, 1300 00:58:39,615 --> 00:58:42,590 melangkau segala-galanya, kerana ia sudah menemukan satu yang bekerja. 1301 00:58:42,590 --> 00:58:46,360 Semua kes-kes yang saling eksklusif berdasarkan jika lain jika lain jika. 1302 00:58:46,360 --> 00:58:48,630 Sehingga akan melaksanakan pertama jika, maka hal itu dilakukan. 1303 00:58:48,630 --> 00:58:49,790 Ia akan pergi ke akhir. 1304 00:58:49,790 --> 00:58:52,400 >> Sedangkan jika kita mengubah ini menjadi apa yang saya 1305 00:58:52,400 --> 00:58:54,204 berkata dengan kurang daripada atau sama dengan 89. 1306 00:58:54,204 --> 00:58:55,620 Ia akan memeriksa yang pertama. 1307 00:58:55,620 --> 00:58:56,560 Ini akan dicetak. 1308 00:58:56,560 --> 00:58:58,010 Ia akan memeriksa yang kedua. 1309 00:58:58,010 --> 00:58:59,010 Ia tidak akan dicetak. 1310 00:58:59,010 --> 00:58:59,910 Semak yang ketiga. 1311 00:58:59,910 --> 00:59:00,620 Tidak akan dicetak. 1312 00:59:00,620 --> 00:59:01,495 Periksa satu keempat. 1313 00:59:01,495 --> 00:59:02,420 Sekarang siap dicetak. 1314 00:59:02,420 --> 00:59:05,380 Jadi dalam hal ini, yang lain jika versi, kerana kes-kes ini 1315 00:59:05,380 --> 00:59:09,120 yang saling eksklusif, itu penggunaan yang lebih baik jika lain jika lain jika, 1316 00:59:09,120 --> 00:59:12,970 kerana yang akan mempunyai cek lebih sedikit daripada syarat-syarat 1317 00:59:12,970 --> 00:59:14,750 daripada versi ini. 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 Allison: Awesome. 1320 00:59:18,400 --> 00:59:20,580 Jadi perkara lain kita boleh lakukan adalah pernyataan switch. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 Pada dasarnya pernyataan switch mengambil di beberapa variabel, 1323 00:59:25,270 --> 00:59:28,780 dalam kes ini ia n, dan menentukan hal untuk melaksanakan. 1324 00:59:28,780 --> 00:59:33,106 Jadi, ini juga merupakan salah satu di mana kes anda harus jenis yang saling eksklusif. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 Jadi dalam hal ini, jika kita kita akan mendapat satu, itu 1327 00:59:37,940 --> 00:59:42,270 akan sepadan dengan apa sahaja yang variable-- apa sahaja nilai n 1328 00:59:42,270 --> 00:59:48,700 adalah salah satu daripada kes-kes ini, sehingga 1, 2, atau 3, dan mencetak talian yang sama. 1329 00:59:48,700 --> 00:59:51,870 >> Dan kemudian jika anda perhatikan di sini, kami juga mempunyai suatu keingkaran, 1330 00:59:51,870 --> 00:59:54,670 yang anda dapat memikirkan seperti yang lain anda. 1331 00:59:54,670 --> 00:59:58,510 Jadi, jika anda memilih mana-mana nombor lain selain 1, 2, dan 3 dalam kes ini 1332 00:59:58,510 --> 00:59:59,885 itu hanya akan mencetak tidak sah. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 Memutuskan bila untuk menggunakan IFS berbanding jika elses berbanding switch akan 1335 01:00:08,390 --> 01:00:12,590 menjadi sesuatu yang kalian akan lihat bentuk yang bijak kerana anda mula menulis 1336 01:00:12,590 --> 01:00:15,270 program yang lebih rumit, dan tidak ada peraturan keras dan cepat 1337 01:00:15,270 --> 01:00:16,330 ketika menggunakannya. 1338 01:00:16,330 --> 01:00:17,890 Ia benar-benar bergantung kepada konteks anda. 1339 01:00:17,890 --> 01:00:18,590 >> ROB Bowden: Dan hanya untuk membuangnya di luar sana 1340 01:00:18,590 --> 01:00:20,131 kerana ia adalah bagian yang lebih selesa. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 Suis, mereka cenderung untuk adalah-- sehingga Anda terbatas 1343 01:00:25,053 --> 01:00:27,430 dalam bilangan cara anda boleh menggunakannya, kerana jika, 1344 01:00:27,430 --> 01:00:30,100 keadaan dapat cukup banyak apa-apa yang anda mahu. 1345 01:00:30,100 --> 01:00:33,410 Dengan beralih kes-kes harus menjadi nombor, 1346 01:00:33,410 --> 01:00:37,770 atau teknikal mereka boleh menjadi aksara, tetapi karakter, seperti yang akan kita lihat, adalah nombor adil. 1347 01:00:37,770 --> 01:00:44,250 Jadi mereka harus menjadi nombor, tetapi suis benar-benar lebih efisien daripada jika 1348 01:00:44,250 --> 01:00:50,060 lain jika lain jika, kerana walaupun mengambil contoh before-- baik, 1349 01:00:50,060 --> 01:00:51,486 contoh gred yang seolah-olah baik. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> Nah mari kita katakan di sini, kita bukan melakukan ini sebagai jika lain jika lain jika senario. 1352 01:00:57,080 --> 01:01:00,930 Jadi, jika n sama sama dengan 1, cetak yang anda pilih angka yang rendah. 1353 01:01:00,930 --> 01:01:04,490 Jika lain jika n sama sama dengan 2, Anda mengambil sejumlah sederhana. 1354 01:01:04,490 --> 01:01:06,550 Lain jika sama dengan sama dengan 3, yang tinggi. 1355 01:01:06,550 --> 01:01:08,060 Yang lain tidak sah. 1356 01:01:08,060 --> 01:01:09,820 >> Jadi, bila itu adalah senario kami. 1357 01:01:09,820 --> 01:01:14,060 Jadi, bila kita masuk 4, jadi kami berharap tidak sah. 1358 01:01:14,060 --> 01:01:17,410 Cara yang jika lain jika lain apakah pendekatan yang akan bekerja adalah 1359 01:01:17,410 --> 01:01:18,740 memeriksa keadaan pertama. 1360 01:01:18,740 --> 01:01:19,776 Ia tidak puas. 1361 01:01:19,776 --> 01:01:21,150 Oleh itu, kita memeriksa keadaan kedua. 1362 01:01:21,150 --> 01:01:21,940 Ia tidak puas. 1363 01:01:21,940 --> 01:01:23,023 Semak syarat ketiga. 1364 01:01:23,023 --> 01:01:23,640 Tidak berpuas hati. 1365 01:01:23,640 --> 01:01:26,650 Jadi kita pergi ke lain dan mencetak tidak sah. 1366 01:01:26,650 --> 01:01:30,169 >> Cara kerja saklar adalah mengkompilasi turun 1367 01:01:30,169 --> 01:01:31,960 menjadi apa yang kita akan untuk memanggil meja melompat. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 Dia yang menjadi idea utama bahawa ketika anda memasukkan 4, 1370 01:01:37,120 --> 01:01:39,090 serta-merta boleh pergi ke lalai. 1371 01:01:39,090 --> 01:01:41,460 Ia tidak perlu untuk memeriksa am Saya kasus 1? 1372 01:01:41,460 --> 01:01:42,350 Nope yang tidak hanya itu. 1373 01:01:42,350 --> 01:01:42,850 Kes 2? 1374 01:01:42,850 --> 01:01:43,240 Nope. 1375 01:01:43,240 --> 01:01:43,770 Kes 3? 1376 01:01:43,770 --> 01:01:44,270 Nope. 1377 01:01:44,270 --> 01:01:45,090 Lalai. 1378 01:01:45,090 --> 01:01:47,610 OK, ini harus menjadi di mana saya mahu, dan kemudian jalankan itu. 1379 01:01:47,610 --> 01:01:49,590 Tidak, ia segera melompat ke lalai. 1380 01:01:49,590 --> 01:01:51,900 Atau saya masukkan 2, itu segera akan pergi ke 2 1381 01:01:51,900 --> 01:01:54,060 tanpa perlu pergi melalui kes 1. 1382 01:01:54,060 --> 01:01:57,820 >> Jadi dengan cara itu, realistik pada masa kini yang 1383 01:01:57,820 --> 01:02:00,250 tidak banyak keuntungan kecekapan. 1384 01:02:00,250 --> 01:02:02,880 Biasanya komputer cukup cepat, dan itu bukan yang besar. 1385 01:02:02,880 --> 01:02:07,270 Tetapi ia adalah kes yang suis cepat. 1386 01:02:07,270 --> 01:02:10,380 Jika anda benar-benar berusaha untuk mengoptimumkan, gunakan suis. 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 Dan selepas itu perlu pengendali pertigaan. 1390 01:02:15,270 --> 01:02:19,470 Jadi saya tahu yang saya sebutkan sebelumnya kata gula sintaksis. 1391 01:02:19,470 --> 01:02:24,160 Jadi itu hanya hal yang membuat kod anda jauh lebih ringkas. 1392 01:02:24,160 --> 01:02:25,590 Jadi, ini adalah salah satu daripada kes-kes. 1393 01:02:25,590 --> 01:02:31,430 >> Jadi pengendali pertigaan adalah tanda tanya usus besar seperti yang kita lihat dalam rentetan garis 1394 01:02:31,430 --> 01:02:35,810 s sama n lebih besar dari 100 tanda tanya kolon tinggi rendah. 1395 01:02:35,810 --> 01:02:41,800 Jadi, pada asasnya bagaimana ini bekerja adalah itu n yang lebih besar daripada 100 adalah suatu keadaan. 1396 01:02:41,800 --> 01:02:43,674 Jadi saya fikir ia boleh masuk akal. 1397 01:02:43,674 --> 01:02:44,840 Ini seperti bertanya soalan. 1398 01:02:44,840 --> 01:02:47,320 Ia berkata oh, adalah n lebih besar daripada 100. 1399 01:02:47,320 --> 01:02:48,340 Siapa yang tahu? 1400 01:02:48,340 --> 01:02:50,750 Dan jika ia bernilai benar, ia akan memberikan anda 1401 01:02:50,750 --> 01:02:54,270 perkara pertama yang terdaftar di sana, yang tinggi. 1402 01:02:54,270 --> 01:02:55,840 Jika tidak ia akan memberikan anda rendah. 1403 01:02:55,840 --> 01:03:01,210 Jadi, ini adalah hanya benar-benar mudah dan cara yang berkesan untuk melakukan seperti jika lain. 1404 01:03:01,210 --> 01:03:02,780 Itu semua ini. 1405 01:03:02,780 --> 01:03:07,450 >> Dan jika kita hendak menulis ini sebagai jika lain bersyarat, 1406 01:03:07,450 --> 01:03:12,480 ia akan menjadi jika n lebih besar daripada 100, pulangan tinggi. 1407 01:03:12,480 --> 01:03:14,220 Yang lain, pulangan yang rendah. 1408 01:03:14,220 --> 01:03:17,570 Ini baru yang lebih cara ringkas dari menulisnya. 1409 01:03:17,570 --> 01:03:27,090 >> ROB Bowden: Jadi contoh ini tertentu adalah apabila anda melakukan sesuatu 1410 01:03:27,090 --> 01:03:30,190 seperti ini, ini adalah pola di mana saya menggunakan pertigaan sangat kerap. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 Oleh itu, kita tidak bercakap tentang skop lagi, tetapi saya benci melihat titik koma string s. 1413 01:03:35,460 --> 01:03:39,150 Jika n lebih besar daripada 100, s sama tinggi. 1414 01:03:39,150 --> 01:03:40,660 Yang lain, s sama rendah. 1415 01:03:40,660 --> 01:03:45,070 Jadi pola itu, lima garis kod harfiah 100% daripada masa 1416 01:03:45,070 --> 01:03:49,800 boleh dipindahkan ke dalam apa yang di sana dengan pertigaan a. 1417 01:03:49,800 --> 01:03:52,340 Jadi pertigaan, satu baris kod. 1418 01:03:52,340 --> 01:03:54,640 Jika yang lain, lima. 1419 01:03:54,640 --> 01:03:56,910 Itu satu contoh, aku keluar setiap saat. 1420 01:03:56,910 --> 01:03:59,250 Ini akan tempat yang hebat untuk operator pertigaan. 1421 01:03:59,250 --> 01:04:00,647 Ia amat bersih. 1422 01:04:00,647 --> 01:04:01,980 Tetapi orang-orang cenderung untuk tidak pernah menggunakannya. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> Allison: Bawa pergi Gabe. 1425 01:04:08,030 --> 01:04:11,110 >> Gabriel: Jadi sekarang kalian semua dipelajari dalam kuliah minggu ini 1426 01:04:11,110 --> 01:04:13,420 bahawa segala sesuatu dalam komputer adalah binari, kan? 1427 01:04:13,420 --> 01:04:14,570 Sama seperti lampu-lampu di sini. 1428 01:04:14,570 --> 01:04:16,492 Anda boleh sama ada hidup dan mati. 1429 01:04:16,492 --> 01:04:18,450 Dan dengan segala-galanya, maksud saya benar-benar segala-galanya. 1430 01:04:18,450 --> 01:04:24,272 Beberapa nombor, dan aksara, dan tali, dan juga kod yang anda menulis apabila 1431 01:04:24,272 --> 01:04:26,480 itu akan disusun ke mesin kod dan hal-hal seperti itu, 1432 01:04:26,480 --> 01:04:29,230 jadi ia semua bisul ke 0 dan 1 '. 1433 01:04:29,230 --> 01:04:34,540 >> Dan ketika kita sedang berhadapan dengan bilangan bulat, yang 1434 01:04:34,540 --> 01:04:38,000 adalah sesuatu yang sangat teknikal mudah, kita harus dapat melakukan hal-hal 1435 01:04:38,000 --> 01:04:40,630 seperti menambah mereka, yang mungkin salah satu perkara yang paling mudah 1436 01:04:40,630 --> 01:04:42,300 anda boleh lakukan untuk dua bilangan bulat, kan? 1437 01:04:42,300 --> 01:04:47,410 Jadi penambahan dan pengurangan bekerja dengan seperti ia berfungsi dalam notasi perpuluhan, 1438 01:04:47,410 --> 01:04:50,780 kecuali di sini ia adalah binari, kan? 1439 01:04:50,780 --> 01:04:52,090 Jadi itu dalam asas dua. 1440 01:04:52,090 --> 01:04:54,070 Jadi tambahkan 1 ditambah 1. 1441 01:04:54,070 --> 01:04:57,020 Yang memberikan 0, dan 1 membawa lebih. 1442 01:04:57,020 --> 01:05:01,335 Dan hanya terus melakukan itu, Jadi sekarang datang soalan yang lebih menarik. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> Kita tahu bagaimana untuk mewakili semua bilangan bulat positif dalam komputer, 1445 01:05:07,710 --> 01:05:09,870 tetapi mari kita membuat ini satu latihan. 1446 01:05:09,870 --> 01:05:15,240 Berpura-pura kalian semua pada tahun 1960 atau sesuatu yang cuba untuk membuat komputer, 1447 01:05:15,240 --> 01:05:19,950 dan anda harus datang dari cara untuk menyimpan tolak 1, 1448 01:05:19,950 --> 01:05:22,554 sebagai contoh, atau dikurangi integer untuk perkara itu. 1449 01:05:22,554 --> 01:05:23,470 Bagaimana anda akan melakukannya? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 Apa-apa idea? 1452 01:05:29,220 --> 01:05:31,302 Hanya membuang apa-apa pada saya. 1453 01:05:31,302 --> 01:05:32,264 Ya? 1454 01:05:32,264 --> 01:05:39,480 >> PENONTON: [didengar] menetapkan yang khusus jika anda [terdengar]. 1455 01:05:39,480 --> 01:05:42,590 >> Gabriel: Anda boleh menetapkan satu agak khusus, yang akan menjadi 0 atau 1. 1456 01:05:42,590 --> 01:05:45,590 Katakan satu jika ia positif dan 0 jika ia adalah negatif. 1457 01:05:45,590 --> 01:05:48,171 Dan kemudian sisa bit hanya untuk menyimpan nombor. 1458 01:05:48,171 --> 01:05:48,670 Sejuk. 1459 01:05:48,670 --> 01:05:49,990 Jadi itu adalah satu idea yang sangat baik. 1460 01:05:49,990 --> 01:05:51,550 Kita ada, saya tidak tahu, 200. 1461 01:05:51,550 --> 01:05:54,720 Dan jika sedikit yang pertama adalah dihidupkan, maka itu ditambah 200. 1462 01:05:54,720 --> 01:05:57,270 Jika ia dimatikan, ia adalah tolak 200. 1463 01:05:57,270 --> 01:05:58,380 Sejuk. 1464 01:05:58,380 --> 01:06:01,350 >> Hanya ada satu kecil Masalah dengan hal ini, 1465 01:06:01,350 --> 01:06:05,370 yaitu bila kita cuba untuk jumlah segalanya. 1466 01:06:05,370 --> 01:06:18,910 Cuba bayangkan, kita mempunyai 11111 di sini, dan kami menjumlahkan ini dengan 00100 apa sahaja. 1467 01:06:18,910 --> 01:06:21,630 Jika kedua-dua positif, itu bagus. 1468 01:06:21,630 --> 01:06:24,470 Tapi kemudian jika salah satu yang bernilai negatif, seperti 1469 01:06:24,470 --> 01:06:27,410 katakanlah yang sedikit ini di sini adalah orang yang bertanggung jawab 1470 01:06:27,410 --> 01:06:31,390 bagi- saya akan membuat satu separate-- jadi ini bermakna bahawa jumlah ini di sini 1471 01:06:31,390 --> 01:06:31,970 adalah positif. 1472 01:06:31,970 --> 01:06:34,450 Ini bermakna bahawa ini jumlah di sini adalah negatif, kan? 1473 01:06:34,450 --> 01:06:37,010 >> Tapi kemudian apabila anda berada akan jumlah mereka, anda 1474 01:06:37,010 --> 01:06:40,180 perlu jika pernyataan berkata oh jika ini adalah 0, 1475 01:06:40,180 --> 01:06:43,479 maka jumlah wang saya akan sesuatu yang berbeza, kan? 1476 01:06:43,479 --> 01:06:45,270 Jadi ada sedikit lebih bijak cara untuk melakukan 1477 01:06:45,270 --> 01:06:48,520 itu, yang dipanggil pelengkap dua ini. 1478 01:06:48,520 --> 01:06:52,350 Jadi, pada asasnya apa yang kita lakukan ialah kita mendefinisikan tolak 1 1479 01:06:52,350 --> 01:06:57,250 menjadi perkara yang jika kami menambah sehingga 1 memberikan kita 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 Saya ulangi. 1482 01:07:00,860 --> 01:07:03,280 Jadi, bila ini di sini adalah 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 Apakah perkara yang secara semula jadi dalam bilangan bulat positif 1485 01:07:13,570 --> 01:07:15,570 ditambah kepada yang memberi kita 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 Apa kata kita cuba untuk menambahnya ke nombor ini? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 Kami akan have-- OK, jadi mari kita tambah. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 Kita akan mempunyai 1 ditambah 1 adalah 0, dan kemudian ia membawa lebih. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 Dan kemudian kita akan mendapatkan 0 lagi. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 Saya mendapat keliru. 1496 01:07:48,820 --> 01:07:51,670 Dan anda akan mendapat 0 dan 0 dan 0 dan 0 dan 0 dan 0. 1497 01:07:51,670 --> 01:07:52,450 Banyak 0 itu. 1498 01:07:52,450 --> 01:07:56,240 >> Pada satu yang terakhir, kita tidak akan mampu untuk membawa ia ke atas, 1499 01:07:56,240 --> 01:07:59,614 kerana katakanlah kita hanya berurusan dengan satu bait, jadi hanya 8 bit. 1500 01:07:59,614 --> 01:08:02,780 Jadi apa yang komputer tidak secara lalai hanya lupa tentang itu [terdengar], 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 Jadi, ini adalah apa yang disebut pelengkap dua itu. 1504 01:08:06,880 --> 01:08:15,180 Kami hanya mendefinisikan tolak 1 menjadi perkara di sini bahawa jika anda menambah bahawa untuk 1 1505 01:08:15,180 --> 01:08:15,995 akan memberi anda 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 Dan itu cukup sejuk kerana kita tidak benar-benar 1508 01:08:20,180 --> 01:08:24,090 perlu lewat untuk melaksanakan Jenis yang berbeza daripada jumlah 1509 01:08:24,090 --> 01:08:26,590 bergantung kepada sama ada itu adalah satu negatif atau nombor positif. 1510 01:08:26,590 --> 01:08:27,465 Adakah ini masuk akal? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> Jadi satu perkara yang kita lakukan di sini untuk menukar 1513 01:08:32,370 --> 01:08:38,550 antara positif dan negatif integer kemudian kita flip segala-galanya, 1514 01:08:38,550 --> 01:08:40,930 dan kemudian kita tambah 1 kepada nombor tersebut. 1515 01:08:40,930 --> 01:08:43,140 Jika anda cuba untuk melakukannya sendiri di atas sekeping kertas, 1516 01:08:43,140 --> 01:08:44,681 Anda akan melihat yang masuk akal. 1517 01:08:44,681 --> 01:08:51,000 Tetapi jika saya mengambil nombor ini di sini, ini adalah lima. 1518 01:08:51,000 --> 01:08:54,859 Jadi jika saya flip segala-galanya di sini, jadi 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 Dan kemudian saya tambahkan 1 untuk itu. 1522 01:09:00,130 --> 01:09:02,750 Saya akan mempunyai tepat tolak 5. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> Ini semacam masuk akal kerana jika anda cuba untuk jumlah ini dengan bilangan 1525 01:09:06,220 --> 01:09:10,229 yang ada sebelumnya, yang was-- mari kita flip ini lagi. 1526 01:09:10,229 --> 01:09:12,999 Ia adalah 101 dan banyak 0 itu. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 Jika anda cuba untuk menambahkan dua nombor bersama-sama, 1529 01:09:15,670 --> 01:09:16,961 Anda akan mempunyai tepat 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 Apa-apa soalan? 1533 01:09:19,884 --> 01:09:20,759 >> PENONTON: [didengar] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> Gabriel: Apa yang kamu maksudkan? 1536 01:09:27,280 --> 01:09:29,240 >> PENONTON: negatif kepada positif [terdengar]. 1537 01:09:29,240 --> 01:09:33,215 >> Gabriel: Tidak, anda flip dan anda menambah 1 selalu. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 Yeah. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 OK, sehingga karakter juga dikodkan binari. 1542 01:09:39,680 --> 01:09:42,649 Kami mempunyai jadual ASCII, kerana anda juga, dalam kuliah, bukan? 1543 01:09:42,649 --> 01:09:45,040 Jadi pada dasarnya pemetaan perkara. 1544 01:09:45,040 --> 01:09:50,960 Dan di sini saya tidak boleh menekankan cukup bahwa untuk komputer, dan 65 1545 01:09:50,960 --> 01:09:52,770 berjuta-perkara yang sama. 1546 01:09:52,770 --> 01:10:03,430 Jadi jika saya menulis sesuatu seperti char c sama, saya boleh pada masa yang sama 1547 01:10:03,430 --> 01:10:06,890 hanya menulis 65 di sini, dan ia akan persis sama, OK? 1548 01:10:06,890 --> 01:10:08,470 Tidak ada perbedaan apa pun. 1549 01:10:08,470 --> 01:10:12,420 >> Kami biasanya cenderung untuk meletakkan watak-watak dalam pembolehubah jenis. 1550 01:10:12,420 --> 01:10:16,770 Char, bukan kerana mereka pada dasarnya dibuat untuk itu, tetapi kerana 1551 01:10:16,770 --> 01:10:18,050 konvensyen manusia. 1552 01:10:18,050 --> 01:10:22,410 Tetapi anda hanya boleh berurusan dengan bilangan bulat bukan pembolehubah dari jenis char, 1553 01:10:22,410 --> 01:10:23,490 dan anda akan baik-baik saja. 1554 01:10:23,490 --> 01:10:28,410 Satu-satunya perbezaan sebenar antara c char dan int i 1555 01:10:28,410 --> 01:10:31,960 ialah int mempunyai empat bait dalam kebanyakan sistem, manakala char mempunyai satu byte. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 Mereka pada dasarnya Perkara yang sama dalam hal data. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 Jadi apa yang akan dicetak di sini? 1560 01:10:37,990 --> 01:10:43,780 Di sini kita sedang mencetak angka menggunakan printf dengan ditambah 1, dan hanya seperti bilangan bulat, 1561 01:10:43,780 --> 01:10:46,240 aksara dapat disimpulkan, maka karakter juga dapat disimpulkan. 1562 01:10:46,240 --> 01:10:47,890 Jadi, ini adalah betul-betul 65. 1563 01:10:47,890 --> 01:10:49,950 Jadi tidak akan menjadi 66, dan di sini kita mempunyai 1564 01:10:49,950 --> 01:10:56,860 65 ditambah sedikit minus besar A, yang akan menjadi, saya tidak benar-benar tahu. 1565 01:10:56,860 --> 01:11:00,900 Tetapi ia akan menjadi betul-betul jurang antara huruf besar 1566 01:11:00,900 --> 01:11:07,800 dan dan surat-surat yang lebih kecil, jadi kita akan mendapatkan yang kecil, kan? 1567 01:11:07,800 --> 01:11:08,300 Yeah. 1568 01:11:08,300 --> 01:11:11,740 Jadi ini akan mencetak jenis yang betul-betul satu ini. 1569 01:11:11,740 --> 01:11:12,260 Baik? 1570 01:11:12,260 --> 01:11:12,860 Apa-apa soalan? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> Di sini kita mempunyai sekumpulan berbeza jenis untuk pembolehubah numerik. 1573 01:11:19,430 --> 01:11:20,620 Kita sudah bercakap tentang int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float adalah cara yang supaya- ini adalah benar-benar lucu, kerana apabila saya pertama kali belajar 1576 01:11:27,760 --> 01:11:32,320 untuk program kembali hari dengan Python, program pertama yang pernah saya 1577 01:11:32,320 --> 01:11:37,480 cuba untuk menulis, saya melihat bahawa terdapat jenis yang disebut dalam dan jenis yang disebut apung. 1578 01:11:37,480 --> 01:11:39,800 Dan apungan adalah untuk semua nombor nyata. 1579 01:11:39,800 --> 01:11:43,290 Jadi kemudian saya bertanya mengapa Pernah saya gunakan int yang kemudian? 1580 01:11:43,290 --> 01:11:45,590 Kerana jika saya boleh menggunakan semua nombor nyata dengan apungan, 1581 01:11:45,590 --> 01:11:47,120 Saya hanya akan berhenti menggunakan ints, kan? 1582 01:11:47,120 --> 01:11:49,550 Oleh kerana bilangan real sama seperti yang lebih umum. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> Ia ternyata bahawa ini adalah tidak terjadi di dalam komputer 1585 01:11:54,060 --> 01:11:58,480 kerana mereka pada dasarnya perkara yang berbeza. 1586 01:11:58,480 --> 01:12:01,470 Jadi bilangan bulat dan mengapung, yang operasi yang anda lakukan untuk mereka 1587 01:12:01,470 --> 01:12:04,739 pada dasarnya berbeza kerana dari jalan yang ia disimpan, OK? 1588 01:12:04,739 --> 01:12:07,280 Kami akan bercakap sedikit sedikit lebih lanjut mengenai bahawa dalam satu saat. 1589 01:12:07,280 --> 01:12:09,110 >> Jadi ganda adalah hanya apungan yang lebih besar. 1590 01:12:09,110 --> 01:12:12,830 Biasanya dalam kebanyakan sistem, apungan adalah empat bait, seperti int. 1591 01:12:12,830 --> 01:12:15,440 Dan ganda adalah lapan bait. 1592 01:12:15,440 --> 01:12:21,450 A lama sebenarnya hanya simbol bahawa anda melampirkan pada jenis seperti int. 1593 01:12:21,450 --> 01:12:24,040 Kamu katakan lama int seperti ini. 1594 01:12:24,040 --> 01:12:28,550 Int panjang panjang x untuk menjadikannya lebih panjang. 1595 01:12:28,550 --> 01:12:32,310 Jadi, dalam kebanyakan sistem, yang akan memberi lapan bait bukannya biasa empat. 1596 01:12:32,310 --> 01:12:35,620 Dan anda benar-benar dapat menggugurkan dalam, jadi ia hanya boleh mengatakan panjang panjang, 1597 01:12:35,620 --> 01:12:37,240 dan yang bekerja juga, OK? 1598 01:12:37,240 --> 01:12:42,850 Anda juga boleh melakukan perkara-perkara lain seperti int unsigned, atau lagi hanya tidak ditandatangani 1599 01:12:42,850 --> 01:12:43,680 juga akan bekerja. 1600 01:12:43,680 --> 01:12:49,370 Dan yang akan membuat x variabel yang seperti segala-galanya adalah positif, 1601 01:12:49,370 --> 01:12:53,231 jadi anda tidak boleh benar-benar mempunyai negatif nombor dengan cara yang kita lihat di sini. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 Jadi berikut indah titik dan ketepatan terapung. 1604 01:12:58,650 --> 01:13:01,890 Itulah salah satu sebab mengapa anda ingin menggunakan ints bukan mengapung, 1605 01:13:01,890 --> 01:13:04,370 kerana ints adalah 100% tepat, bukan? 1606 01:13:04,370 --> 01:13:06,170 Ini betul-betul angka itu. 1607 01:13:06,170 --> 01:13:11,910 Untuk mata terapung, jika anda mengatakan jawapan sama dengan 1 lebih 10-- 1608 01:13:11,910 --> 01:13:14,690 Saya kebetulan punya ini tepat program sini, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 Yang mencetak hingga 20 tempat perpuluhan. 1611 01:13:19,420 --> 01:13:23,270 1 dibahagikan dengan 10, dan yang biasanya adalah 0.1, kan? 1612 01:13:23,270 --> 01:13:27,910 Tetapi di sini jika kita membuat terapung dan kemudian kita menjalankannya, 1613 01:13:27,910 --> 01:13:30,320 kita melihat bahawa ia tidak betul-betul 0.1. 1614 01:13:30,320 --> 01:13:33,570 Ini 0,149 sesuatu. 1615 01:13:33,570 --> 01:13:35,570 >> Dan kenapa begitu? 1616 01:13:35,570 --> 01:13:40,390 Kerana anda tidak boleh benar-benar mewakili setiap jumlah sebenar mungkin satu dalam ingatan 1617 01:13:40,390 --> 01:13:42,730 kerana ada uncountably banyak dari mereka. 1618 01:13:42,730 --> 01:13:48,360 Jadi kita secara teknikal hanya mampu mewakili jumlah yang terhad daripada mereka 1619 01:13:48,360 --> 01:13:50,470 dengan jumlah yang terbatas data. 1620 01:13:50,470 --> 01:13:52,050 Tetapi ia benar-benar menarik. 1621 01:13:52,050 --> 01:13:54,920 Sekarang ini menimbulkan persoalan bagaimana yang anda lakukan 1622 01:13:54,920 --> 01:13:59,299 pergi tentang mewakili ini dengan bit, bukan? 1623 01:13:59,299 --> 01:14:00,340 Jadi bagaimana mengapung disimpan? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 Dengan bilangan bulat itu mudah. 1626 01:14:03,730 --> 01:14:06,690 Tetapi dengan mengapung anda mahu untuk memaksimumkan jangkauan, 1627 01:14:06,690 --> 01:14:10,530 dan anda mahu menjadi mampu untuk mewakili jumlah yang besar dan jumlah yang sangat kecil seperti 1628 01:14:10,530 --> 01:14:14,210 0.000001 pada masa yang sama. 1629 01:14:14,210 --> 01:14:15,180 Jadi sekali lagi, permainan yang sama. 1630 01:14:15,180 --> 01:14:20,470 Adakah sesiapa yang mempunyai apa-apa idea bagaimana kita boleh pergi tentang mewakili apungan dalam ingatan? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 Hanya membuang apa-apa. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 Ya, silakan. 1635 01:14:30,856 --> 01:14:33,552 >> PENONTON: [didengar] sebagai jika itu dua ints dan satu 1636 01:14:33,552 --> 01:14:36,890 menjadi [didengar] dan satu makhluk segala-galanya selepas titik perpuluhan. 1637 01:14:36,890 --> 01:14:37,640 Gabriel: OK, sejuk. 1638 01:14:37,640 --> 01:14:40,300 Jadi dua bilangan bulat yang berbeza. 1639 01:14:40,300 --> 01:14:45,260 Anda boleh mempunyai 12.45, jadi itu 12 dan 45. 1640 01:14:45,260 --> 01:14:45,890 Nice. 1641 01:14:45,890 --> 01:14:46,973 Apa ere anda akan katakan? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 Hal yang sama? 1644 01:14:49,430 --> 01:14:49,930 Ya? 1645 01:14:49,930 --> 01:14:55,630 >> PENONTON: [didengar] notasi di mana anda memisahkan asas. 1646 01:14:55,630 --> 01:14:58,910 >> Gabriel: Notasi ilmiah, yeah itu biasanya apa yang berlaku. 1647 01:14:58,910 --> 01:15:01,350 Jadi, ini adalah apa yang disebut mantissa. 1648 01:15:01,350 --> 01:15:06,490 Itulah yang sebenarnya adalah nombor, dan kemudian eksponen 1649 01:15:06,490 --> 01:15:08,780 hanya di mana koma itu, bukan? 1650 01:15:08,780 --> 01:15:13,720 Jadi ini akan menjadi sesuatu yang dalam bentuk 1, 2, 3, 4, 5 kali 10 1651 01:15:13,720 --> 01:15:15,000 4 tolak. 1652 01:15:15,000 --> 01:15:17,800 Saya hanya menyedari bahawa- yeah, betul-betul. 1653 01:15:17,800 --> 01:15:23,372 Dan kemudian ini 10 kepada tolak 4 adalah akan menentukan di mana koma adalah, OK? 1654 01:15:23,372 --> 01:15:24,330 Di Brazil kita gunakan koma. 1655 01:15:24,330 --> 01:15:26,795 Di sini anda semua menggunakan titik. 1656 01:15:26,795 --> 01:15:27,640 Jadi titik. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> Dan ini adalah sejuk, kerana selepas itu anda boleh tumpuan banyak potongan-potongan anda pada lelaki ini 1659 01:15:34,840 --> 01:15:40,863 di sini, pada mantissa, dan maka itu akan menjadi ketepatan sebenar anda. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 Dan anda boleh melakukan ini sama ada dalam perpuluhan atau dalam sistem binari yang berasaskan. 1662 01:15:47,175 --> 01:15:49,781 Ada yang berbeda cara-cara untuk melaksanakan hal ini. 1663 01:15:49,781 --> 01:15:50,280 Soalan? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 Ya? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 PENONTON: Berapa banyak tempat setelah desimal [terdengar]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> Gabriel: Itu soalan yang rumit, kerana ia tidak pernah benar-benar 100% tepat, 1670 01:16:12,610 --> 01:16:15,680 kerana seperti yang anda lihat di sini, untuk beberapa angka itu adalah 100% tepat. 1671 01:16:15,680 --> 01:16:20,350 Saya percaya jika kita meletakkan 0,5 di sini, ia akan menjadi 100% tepat. 1672 01:16:20,350 --> 01:16:22,220 Ia akan menjadi 0,500000. 1673 01:16:22,220 --> 01:16:24,170 Jadi dalam hal ini, ia adalah sempurna. 1674 01:16:24,170 --> 01:16:27,330 Tetapi dalam kes-kes lain, itu jauh lebih sempurna. 1675 01:16:27,330 --> 01:16:35,010 Dalam pengalaman saya, seperti sehingga empat, lima tempat perpuluhan adalah cukup tepat. 1676 01:16:35,010 --> 01:16:38,300 Jika anda menggunakan dua kali, ia akan menjadi cara yang lebih tepat daripada itu, OK? 1677 01:16:38,300 --> 01:16:42,750 >> ROB Bowden: Jadi hanya untuk membuang beberapa konteks yang lebih pada kereta berhias, 1678 01:16:42,750 --> 01:16:46,320 Aku tidak pernah ingat 100% bagaimana spec mengapung benar-benar bekerja, 1679 01:16:46,320 --> 01:16:52,660 tetapi saya anda sentiasa ingat yang mengapung mulai mendapatkan berantakan. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 Jadi idea ini adalah bahawa apabila anda benar-benar, benar-benar nombor besar atau benar-benar, benar-benar 1682 01:17:00,930 --> 01:17:03,470 bilangan yang kecil, kita mula semakin buruk 1683 01:17:03,470 --> 01:17:05,860 di membedakan antara dua mengapung dekat. 1684 01:17:05,860 --> 01:17:09,180 >> Jadi bagaimana saya suka untuk berfikir tentang adalah dengan floating point ketidaktepatan, 1685 01:17:09,180 --> 01:17:11,890 ada dua pelampung yang jika saya cuba untuk menentukan mereka 1686 01:17:11,890 --> 01:17:15,150 dalam bahasa C, walaupun pada hakikatnya mereka nombor yang berlainan, 1687 01:17:15,150 --> 01:17:17,340 mereka akan menjadi ditafsirkan sebagai jumlah yang sama, 1688 01:17:17,340 --> 01:17:19,006 kerana kita tidak boleh menyimpan mereka berbeda. 1689 01:17:19,006 --> 01:17:20,540 Kita perlu menggunakan bit yang sama. 1690 01:17:20,540 --> 01:17:23,220 Dan lagi apabila kita dapat benar-benar, benar-benar besar nombor, 1691 01:17:23,220 --> 01:17:28,460 bercakap seperti 10 kepada 300 atau sesuatu, itu pada ketika itu 1692 01:17:28,460 --> 01:17:33,240 yang 10 ke 300 atau 5 kali 10 kepada 300 1693 01:17:33,240 --> 01:17:37,020 tidak dapat dibedakan dari 7 kali 10 kepada 300. 1694 01:17:37,020 --> 01:17:39,660 Jadi itulah perbezaan yang cukup besar antara kedua-dua nombor. 1695 01:17:39,660 --> 01:17:43,830 >> Tapi kemudian apabila anda turun kepada perkara-perkara pelbagai normal, 1696 01:17:43,830 --> 01:17:45,770 Anda cenderung cukup pandai membezakan. 1697 01:17:45,770 --> 01:17:49,020 Dan kemudian apabila anda turun benar-benar kecil, Anda Juga tampak lebih buruk lagi. 1698 01:17:49,020 --> 01:17:52,529 Sebab itu sejumlah besar 0.0000, ia akan menjadi sangat buruk. 1699 01:17:52,529 --> 01:17:53,820 Gabriel: Ya, jadi nota yang cepat. 1700 01:17:53,820 --> 01:17:54,670 Jangan sekali-kali melakukan hal ini. 1701 01:17:54,670 --> 01:17:57,590 Jangan sekali-kali cuba untuk membandingkan mengapung menggunakan sama dengan bersamaan, 1702 01:17:57,590 --> 01:18:02,800 kerana walaupun mereka hampir sama, hampir sama tidak sama. 1703 01:18:02,800 --> 01:18:06,360 Jadi apa yang anda biasa lakukan adalah anda tolak mereka, mengambil nilai mutlak itu, 1704 01:18:06,360 --> 01:18:12,380 dan melihat apakah yang lebih kecil dari 0.0001 atau sesuatu seperti itu, OK? 1705 01:18:12,380 --> 01:18:12,880 Dan sejuk. 1706 01:18:12,880 --> 01:18:16,630 Saya tahu banyak orang mempunyai latar belakang di Jawa, 1707 01:18:16,630 --> 01:18:19,700 terutama orang-orang yang melakukan AP sains komputer, bukan? 1708 01:18:19,700 --> 01:18:23,630 Dan Jawa adalah bahasa bahwa sebagian besar didasarkan pada C, 1709 01:18:23,630 --> 01:18:26,570 ia mempunyai beberapa perbezaan yang sangat besar. 1710 01:18:26,570 --> 01:18:31,430 Tetapi bagi gelung, dan jika, dan hal-hal seperti itu, mereka semua sintaks yang sama. 1711 01:18:31,430 --> 01:18:35,240 Saya mempunyai beberapa program di sini untuk menunjukkan ini. 1712 01:18:35,240 --> 01:18:37,050 >> Jadi, sebagai contoh, dunia hello yang mudah. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 Ini hello dunia dalam C, yang anda Orang-orang ini pasti kenal, 1715 01:18:46,600 --> 01:18:49,100 dan yang satu ini dan ini adalah di Jawa. 1716 01:18:49,100 --> 01:18:53,100 Jadi di Jawa kita mempunyai kelas awam, hello world, 1717 01:18:53,100 --> 01:18:57,050 dan tidak sah public static args utama, dan tali. 1718 01:18:57,050 --> 01:18:59,665 Args tali akan untuk hadir di C sangat lama. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 Tetapi jangan kita pergi ke sana lagi. 1721 01:19:01,990 --> 01:19:06,060 Pada masa ini kami mempunyai kekosongan di sini, yang bermaksud utama yang tidak mengambil apa-apa bantahan. 1722 01:19:06,060 --> 01:19:09,220 Dan selepas itu perlu System.out.println, dan itulah 1723 01:19:09,220 --> 01:19:11,140 jenis setara untuk printf. 1724 01:19:11,140 --> 01:19:17,150 Di sini kita tidak benar-benar perlu backslash n kerana cetak Dalam melakukan itu untuk anda. 1725 01:19:17,150 --> 01:19:19,680 Itu menambahkan backslash n pada akhir baris. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> Tetapi jika anda pergi ke sesuatu seperti untuk, anda 1728 01:19:30,415 --> 01:19:32,590 dapat melihat bahawa mereka cukup banyak hal yang sama. 1729 01:19:32,590 --> 01:19:37,390 Jadi pengawalan, dan syarat, dan kemas kini 1730 01:19:37,390 --> 01:19:42,050 is-- Aku rindu ruang di sini-mereka cukup banyak perkara yang sama, kecuali Jawa 1731 01:19:42,050 --> 01:19:44,430 mempunyai sebagai bahan beberapa tingkat tinggi. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 Di sini kita boleh melakukan ditambah saya dan Jawa akan secara automatik 1734 01:19:49,610 --> 01:19:52,730 membuat ini saya di sini, yang integer, ke dalam string, 1735 01:19:52,730 --> 01:19:55,200 dan kemudian menambahkan kedua tali itu. 1736 01:19:55,200 --> 01:19:57,570 Di sini, di C kita perlu melakukan perkara yang &% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 Jalur ini di sini, untuk kelihatan betul-betul sama. 1739 01:20:18,170 --> 01:20:37,760 >> Dan jika kita melihat jika, seandainya juga terlihat persis sama, kan? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 Jadi perbezaan yang sangat besar adalah dalam hal-hal yang anda lihat di sini. 1742 01:20:44,650 --> 01:20:47,530 Public static, tidak sah, dan maka kelas awam jika. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 Jadi Jawa mempunyai apa yang disebut mesin maya. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 Dan ia sangat berat berdasarkan apa disebut pengaturcaraan berorientasikan objek, 1747 01:21:00,150 --> 01:21:04,120 yang sangat, sangat umum paradigma untuk pengaturcaraan pada masa kini. 1748 01:21:04,120 --> 01:21:10,870 Dan perkara kelas ini adalah apa yang anda lihat, sesuatu dari orientasi objek, 1749 01:21:10,870 --> 01:21:14,214 adalah anda membuat kelas dan kemudian anda dapat memperoleh objek dari kelas itu. 1750 01:21:14,214 --> 01:21:16,380 Kami tidak akan bercakap terlalu banyak tentang itu di CS50, 1751 01:21:16,380 --> 01:21:18,213 tetapi yang pasti sesuatu yang benar-benar sejuk, 1752 01:21:18,213 --> 01:21:21,440 terutamanya jika anda mahu pergi ke dalam pembangunan web yang lebih canggih 1753 01:21:21,440 --> 01:21:24,050 pada akhir kursus ini, seperti menyerahkan projek akhir anda 1754 01:21:24,050 --> 01:21:26,430 dan beberapa rangka kerja yang baik dan sebagainya. 1755 01:21:26,430 --> 01:21:31,250 >> Jadi pada dasarnya idea ini adalah bahawa anda tidak mahu melaksanakan semula sesuatu, 1756 01:21:31,250 --> 01:21:36,330 jadi anda membuat sesuatu yang sangat generik, seperti bentuk, 1757 01:21:36,330 --> 01:21:38,310 dan kemudian anda membuat bentuk yang berbeza dari itu, 1758 01:21:38,310 --> 01:21:40,240 dan kemudian dari masing-masing bentuk-bentuk ini, anda membuat 1759 01:21:40,240 --> 01:21:45,110 beberapa bentuk yang lebih spesifik dalam tiga dimensi atau sesuatu seperti itu. 1760 01:21:45,110 --> 01:21:48,799 Dan mereka mempunyai hierarki ini mereka mewarisi dari orang-orang lain, sehingga 1761 01:21:48,799 --> 01:21:51,840 semua fungsi dan semua pembolehubah yang bentuk yang besar di sini mempunyai, semua ini 1762 01:21:51,840 --> 01:21:54,110 akan mempunyai, dan semua ini adalah akan mempunyai, dan sebagainya dan sebagainya. 1763 01:21:54,110 --> 01:21:55,640 Jadi itulah idea asas. 1764 01:21:55,640 --> 01:21:59,170 >> C tidak mempunyai itu, tetapi C ++ tidak mempunyai bahawa jenis ciri. 1765 01:21:59,170 --> 01:22:02,710 Dan Jawa yang banyak dipengaruhi dengan orientasi objek, 1766 01:22:02,710 --> 01:22:05,310 jadi itu sebabnya anda lihat kelas di sini sepanjang masa. 1767 01:22:05,310 --> 01:22:10,790 Dan perkara yang lain adalah ini mesin maya Java. 1768 01:22:10,790 --> 01:22:13,790 Jadi ini, saya fikir, adalah idea yang sangat pintar. 1769 01:22:13,790 --> 01:22:17,020 Jadi apa yang orang-orang yang java dicipta lakukan adalah 1770 01:22:17,020 --> 01:22:19,630 mereka tidak mahu menyusun kode mereka dua kali 1771 01:22:19,630 --> 01:22:23,990 jika mereka harus berjalan dalam Windows, atau Mac atau Linux, jadi apa yang mereka lakukan 1772 01:22:23,990 --> 01:22:26,740 yang mereka benar-benar menjalankan sesuatu seperti perkakas, 1773 01:22:26,740 --> 01:22:29,630 tetapi anda tidak benar-benar melihat hal itu terjadi. 1774 01:22:29,630 --> 01:22:32,430 Jadi mereka menjalankan mesin maya dalam komputer anda, yang 1775 01:22:32,430 --> 01:22:34,940 pada dasarnya seperti yang sistem operasi mini. 1776 01:22:34,940 --> 01:22:37,920 Dan operasi yang Tujuan sistem dalam kehidupan 1777 01:22:37,920 --> 01:22:41,430 adalah hanya untuk menjalankan apa yang dipanggil kod bait. 1778 01:22:41,430 --> 01:22:47,411 >> Jadi, daripada di C, cara kita akan kompilasi ini membuat jika, dan kemudian jalankan 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 Saya terlupa backslash dalam. 1782 01:22:55,290 --> 01:23:00,240 Di Jawa, yang akan anda lakukan pertama Jawa C untuk compile, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 Ia bukan C. Ianya dot java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 Dan kemudian anda perlu untuk menjalankan tidak ./. 1787 01:23:12,140 --> 01:23:15,440 Anda akan mendapat fail baru ini bird_r.jpg, tetapi anda tidak boleh benar-benar 1788 01:23:15,440 --> 01:23:17,980 menjalankan bird_r.jpg kini hanya seperti yang kami lakukan sebelum ini. 1789 01:23:17,980 --> 01:23:19,440 Ini tidak boleh laksana. 1790 01:23:19,440 --> 01:23:20,630 Anda harus lari. 1791 01:23:20,630 --> 01:23:23,410 Anda harus memberi makan ke program yang dikenali sebagai Jawa, 1792 01:23:23,410 --> 01:23:28,260 dan program yang mesin maya, dan kemudian anda melakukan bird_r.jpg, atau jika. 1793 01:23:28,260 --> 01:23:28,760 Ya. 1794 01:23:28,760 --> 01:23:30,890 Dan kemudian ia berfungsi. 1795 01:23:30,890 --> 01:23:33,740 OK jadi ini adalah jenis yang mesin maya berlaku. 1796 01:23:33,740 --> 01:23:37,700 C tidak mempunyai itu, jadi jika saya meletakkan program ini di mesin Windows, 1797 01:23:37,700 --> 01:23:40,516 ia tidak akan bekerja di C. Di Jawa yang dilakukannya. 1798 01:23:40,516 --> 01:23:41,015 Soalan? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 Sejuk. 1801 01:23:44,030 --> 01:23:47,160 Itu kalau seksyen super untuk hari ini. 1802 01:23:47,160 --> 01:23:49,462