1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> ROB: Nu labi. 3 00:00:13,870 --> 00:00:16,770 Welcome to pirmajā daļā. 4 00:00:16,770 --> 00:00:17,480 Es esmu Rob. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: Es esmu Joseph. 6 00:00:18,806 --> 00:00:21,540 >> ROB: Tātad mēs nirt tiesības collas 7 00:00:21,540 --> 00:00:23,420 Pirmā lieta, lai runātu par ir Appliance. 8 00:00:23,420 --> 00:00:27,150 Tāpēc cerams, ka lielākā daļa no jums ir lejupielādēt to jau. 9 00:00:27,150 --> 00:00:37,180 Bet jūs varat redzēt instrukcijas pie cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Ak dievs, tagad es esmu bikls. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 Es joprojām dzirdu to. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Wow, tas izklausās tas ir dezorientēti. 14 00:00:47,232 --> 00:00:52,460 >> ROB: Tātad daži cilvēki ir, kam problēmas ar to, tāpēc nav jāgaida, kamēr 15 00:00:52,460 --> 00:00:54,940 pēdējā minūte problēmas iestatīts mēģināt atrisināt Appliance un 16 00:00:54,940 --> 00:00:56,320 konstatējot, ka tas nedarbojas. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: Un, ja kaut kas nedarbojas un jums ir nepieciešama palīdzība, jūs varat doties uz 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion kur mēs ir forums, kur 19 00:01:03,390 --> 00:01:04,110 var nosūtīt savus jautājumus. 20 00:01:04,110 --> 00:01:06,655 Un mēs sāksim to beidzot. 21 00:01:06,655 --> 00:01:07,490 >> ROB: Nu labi. 22 00:01:07,490 --> 00:01:12,180 Tātad šis ir tas, ko Appliance izskatās. 23 00:01:12,180 --> 00:01:15,480 Atkal, tas ir tikai pilnīgi atsevišķi operētājsistēma darbojas dažu 24 00:01:15,480 --> 00:01:19,440 neatkarīgi no operētājsistēmas jūs darbojas uz jūsu klēpjdators. 25 00:01:19,440 --> 00:01:24,450 Un galvenajām lietām, ko jūs izmantojat ir gedit. 26 00:01:24,450 --> 00:01:28,050 Tāpēc cerams, tas jau ir kļuvis pazīstams vietā. 27 00:01:28,050 --> 00:01:29,470 Termināls. 28 00:01:29,470 --> 00:01:31,890 >> Un jūs varat arī palaist Chrome ietvaros Appliance. 29 00:01:31,890 --> 00:01:33,860 Ir bijuši pāris cilvēki kuras ziņojušas internetā 30 00:01:33,860 --> 00:01:35,390 nestrādās Appliance. 31 00:01:35,390 --> 00:01:38,090 Un daži no viņiem ir tikai pieņemts ka nav vajadzēja būt 32 00:01:38,090 --> 00:01:39,190 Interneta ierīcē. 33 00:01:39,190 --> 00:01:40,750 Bet jā, tur ir paredzēts būt interneta. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> Es saku to tieši tagad, bet tas nav īsti nozīmē neko. 36 00:01:46,410 --> 00:01:50,680 Ja internets nedarbojas, tas ir tas, ko jūs parasti nepieciešams 37 00:01:50,680 --> 00:01:52,180 palaist to salabot. 38 00:01:52,180 --> 00:01:55,602 Ja jums ir interneta problēmas, nav atcerēties to, tikai pēc to 39 00:01:55,602 --> 00:01:57,560 Apspriest, un mēs sakām, palaist to. 40 00:01:57,560 --> 00:02:00,420 Bet internets ir jāstrādā. 41 00:02:00,420 --> 00:02:06,650 >> Tātad vienīgā cita lieta - jā, nekas pārējais ir ļoti būtiska. 42 00:02:06,650 --> 00:02:08,979 Bet es tikai gribēju norādīt, ka - 43 00:02:08,979 --> 00:02:13,290 redzēt šajā apakšējā labajā stūrī. 44 00:02:13,290 --> 00:02:16,530 Tāpēc katru no jūsu ierīcēm jābūt ir IP adrese. 45 00:02:16,530 --> 00:02:22,350 Un vēlāk semestrī, šis IP adrese kļūs nozīmīgi, 46 00:02:22,350 --> 00:02:27,230 jūs strādājat tīmeklī p-kopumu, jo Jūs varēsiet piekļūt 47 00:02:27,230 --> 00:02:32,310 mājas lapā jūs strādājat no jūsu Vietējās Chrome, izmantojot šo IP adresi. 48 00:02:32,310 --> 00:02:35,400 >> Bet to, ko es vēlētos izmantot IP adresi - un jums nav to darīt, es 49 00:02:35,400 --> 00:02:37,460 tikai gribu uzsvērt to, - 50 00:02:37,460 --> 00:02:39,540 ir šeit. 51 00:02:39,540 --> 00:02:42,910 Tātad tas ir termināla logs uz mana Mac, tas nav 52 00:02:42,910 --> 00:02:44,580 Appliance vispār. 53 00:02:44,580 --> 00:02:47,190 Un jūs varat meklēt to, kas šī komanda dara. 54 00:02:47,190 --> 00:02:51,855 Bet es esmu gatavojas SSH tieši manu Appliance. 55 00:02:51,855 --> 00:02:53,410 Es nezinu, kas IP ir. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> ROB: Tātad, kad es esmu darīts ar to, ieietu 59 00:02:59,950 --> 00:03:05,450 Tagad, galvenokārt, tas ir identisks termināla logu manā Appliance. 60 00:03:05,450 --> 00:03:10,280 Tāpēc es diezgan daudz nekad nav strādājuši no iekšienes pati ierīce. 61 00:03:10,280 --> 00:03:12,550 Es tikai vienmēr ir, ka tas darbojas fonā minimumam samazina 62 00:03:12,550 --> 00:03:15,890 un SSHed tajā. 63 00:03:15,890 --> 00:03:24,270 >> Problēma ar šo ir jums nav gatavojas lai varētu izmantot gedit viegli 64 00:03:24,270 --> 00:03:25,600 tieši no tā. 65 00:03:25,600 --> 00:03:31,500 Bet, ja jūs vēlaties būt reāla cool hacker, tad jums vajadzētu pierast 66 00:03:31,500 --> 00:03:34,220 komandrindas teksta redaktoru anyway. 67 00:03:34,220 --> 00:03:39,620 Tāpēc Vim un Emacs un Nano, visi šie ir dažādas alternatīvas. 68 00:03:39,620 --> 00:03:41,560 Nano mēdz būt vienkāršākais. 69 00:03:41,560 --> 00:03:45,006 Un es domāju, ka tam nav nekādas sintakse izceļot. 70 00:03:45,006 --> 00:03:47,620 Ak, nē, tas pilnīgi nav. 71 00:03:47,620 --> 00:03:49,870 Tātad jūs varat izmantot Nano, jo ka viens ir diezgan viegli. 72 00:03:49,870 --> 00:03:52,000 >> Jūs redzat visas šīs komandas apakšā. 73 00:03:52,000 --> 00:03:54,750 Šī maz burkānu simbols. 74 00:03:54,750 --> 00:03:57,620 Ja jūs neesat redzējuši to pirms, jūs iespējams redzēt to daudz tagad. 75 00:03:57,620 --> 00:04:02,350 Tas parasti nozīmē, ka kontroles burkānu, piemēram, grunts kreisajā tastatūras 76 00:04:02,350 --> 00:04:04,130 kontrole raksturs. 77 00:04:04,130 --> 00:04:07,260 Tātad šeit tas ir spēcīgi mani šeit - 78 00:04:07,260 --> 00:04:08,710 Ak, tas nav nogriezts, ja man pietuvinātu objektu 79 00:04:08,710 --> 00:04:11,040 Tātad Control, X ir, kā Es esmu gatavojas, lai izietu. 80 00:04:11,040 --> 00:04:14,710 Un saka, ka es varētu hit Y Jā, par taupīšanu, N Nē 81 00:04:14,710 --> 00:04:17,190 Tātad tas ir Nano. 82 00:04:17,190 --> 00:04:22,860 >> Vim un Emacs mēdz būt nedaudz vairāk sarežģīts un milzīgs. 83 00:04:22,860 --> 00:04:28,840 Bet jūs varat pierast pie tā, un tad jums būs mīlēt to. 84 00:04:28,840 --> 00:04:30,590 Tātad tas ir tas. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: Nav nepieciešams, lai to izdarītu. 86 00:04:31,720 --> 00:04:31,840 >> ROB: Jā. 87 00:04:31,840 --> 00:04:37,510 Jūs esat brīvi izmantot gedit par atlikušo pusgadu. 88 00:04:37,510 --> 00:04:40,630 Tāpēc jebkura ierīce saistīti jautājumi? 89 00:04:40,630 --> 00:04:42,820 Vai jums ir kādas domas par to, ko vēl vajag runāt par par 90 00:04:42,820 --> 00:04:43,610 ierīce? 91 00:04:43,610 --> 00:04:43,996 Jā. 92 00:04:43,996 --> 00:04:47,720 >> SPEAKER 1: Kad jūs SSHed uz jūsu lieta bija paroli Crimson? 93 00:04:47,720 --> 00:04:48,390 >> ROB: Jā. 94 00:04:48,390 --> 00:04:50,170 Par diezgan daudz viss paroli ierīcē notiek 95 00:04:50,170 --> 00:04:52,473 būt Crimson. 96 00:04:52,473 --> 00:04:56,517 >> SPEAKER 2: Install kā īsts IDE uz ierīces, tas ir darbs? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> ROB: Es iztēlojos Eclipse tomēr ir Fedora versija, un šādā gadījumā, jā, 99 00:05:07,290 --> 00:05:08,420 jūs varat darīt. 100 00:05:08,420 --> 00:05:10,875 Tas ir iespējams, nav īsti vērts. 101 00:05:10,875 --> 00:05:11,742 >> SPEAKER 2: OK. 102 00:05:11,742 --> 00:05:15,924 Tātad, tas ir iespējams, vieglāk, ja es gribēju, lai izmanto Eclipse, tikai izmantot dzimtā un 103 00:05:15,924 --> 00:05:17,646 pēc tam augšupielādēt to - 104 00:05:17,646 --> 00:05:21,090 >> ROB: Ak, tas ir arī iespējams, ir vieglāk. 105 00:05:21,090 --> 00:05:24,046 Bet jūs varat iegūt darbu ietvaros Appliance. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: Un kameru, jautājums bija, jūs varat instalēt citu 107 00:05:27,740 --> 00:05:29,490 IDE ierīces iekšpusi? 108 00:05:29,490 --> 00:05:31,520 >> ROB: Eclipse ir piemērs IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 Jebkādi citi Appliance jautājumi? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 Labi. 113 00:05:38,680 --> 00:05:44,920 >> Tāpēc mēs tagad pāriet uz komandrindas interfeiss saistītās lietas, tāpēc CLI. 114 00:05:44,920 --> 00:05:47,990 Un atkal, es esmu tikai gatavojas strādāt Šeit, ka tas ir identisks 115 00:05:47,990 --> 00:05:52,780 strādā termināļa logā ietvaros Appliance. 116 00:05:52,780 --> 00:05:54,160 Kā ir, ka fonts meklē? 117 00:05:54,160 --> 00:05:55,970 Vai tas ir pietiekami liels? 118 00:05:55,970 --> 00:05:57,000 Labi. 119 00:05:57,000 --> 00:06:02,480 >> Tāpēc ir daudz komandu, kas Jums vajadzētu saņemt diezgan izmanto, lai 120 00:06:02,480 --> 00:06:04,490 visā semestrī. 121 00:06:04,490 --> 00:06:09,480 Liels divi navigācijai ir ls, saraksts failus šajā direktorijā, kā arī 122 00:06:09,480 --> 00:06:11,380 cd, lai mainītu katalogs. 123 00:06:11,380 --> 00:06:18,390 Lai es varētu mainīt uz darbvirsmas un pēc tam Ļoti bieži modelis ir cd 124 00:06:18,390 --> 00:06:22,550 katalogs un nekavējoties ls Kas direktorijā. 125 00:06:22,550 --> 00:06:25,540 >> Cilvēki arī dažkārt neapzinās ka Tab pabeigšana ir lieta. 126 00:06:25,540 --> 00:06:28,370 Tātad, piemēram, cd, VH, un tad es hit Tab. 127 00:06:28,370 --> 00:06:30,790 Es gandrīz nekad tipa out visa lieta. 128 00:06:30,790 --> 00:06:32,920 Un tad, ja es glabāt hitting Tab atkal, tas būs automātiski 129 00:06:32,920 --> 00:06:33,670 sākt sarakstu par mani. 130 00:06:33,670 --> 00:06:37,000 Tāpēc es varu cd vhosts, vietējā uzņēmēja. 131 00:06:37,000 --> 00:06:39,880 Un tas ir tikai gatavojas - 132 00:06:39,880 --> 00:06:43,380 ja neesat dzirdējuši terminu pirms katalogs ir tikai vēl viens vārds 133 00:06:43,380 --> 00:06:45,170 uz mapi. 134 00:06:45,170 --> 00:06:49,930 Tāpēc tagad, ja jūs redzat - 135 00:06:49,930 --> 00:06:51,810 pieņemsim panākt, ka uz augšu. 136 00:06:51,810 --> 00:06:55,380 >> Tāpēc tagad, ja jūs redzat iekavās, jūs redzēt maz tildes, slīpsvītra, vhost, 137 00:06:55,380 --> 00:06:56,810 slash, vietējā uzņēmēja. 138 00:06:56,810 --> 00:07:00,040 Tātad Tilde, kas attiecas manā mājas direktorijā. 139 00:07:00,040 --> 00:07:03,090 Tas ir direktoriju jūs jo, kad jūs SSH collas 140 00:07:03,090 --> 00:07:05,660 Tas ir direktoriju tu esi, kad jūs atvērt termināli. 141 00:07:05,660 --> 00:07:08,650 Tas ir, ja jūs sākat. 142 00:07:08,650 --> 00:07:13,110 Un tāpēc es esmu iekšā manā mājas direktorijā, un es esmu iekšpusē vhost 143 00:07:13,110 --> 00:07:14,475 direktoriju iekšpusē manas mājas direktorijā. 144 00:07:14,475 --> 00:07:19,670 Un tad es esmu iekšā vietējā uzņemt direktoriju iekšpusē no tā. 145 00:07:19,670 --> 00:07:23,740 >> Tāpēc dažas citas noderīgas lietas ar cd - 146 00:07:23,740 --> 00:07:29,220 vai arī vispār, tāpēc dot vienmēr attiecas uz pašreizējā direktorijā. 147 00:07:29,220 --> 00:07:31,130 Cd, dot ir diezgan nevērtīgs komandu. 148 00:07:31,130 --> 00:07:35,150 Bet tas mainās uz pašreizējā direktorijā. 149 00:07:35,150 --> 00:07:38,230 Vairāk noderīgs viens ziņā cd ir dot, dot, kas ir 150 00:07:38,230 --> 00:07:40,220 tikai iet uz augšu vienā direktorijā. 151 00:07:40,220 --> 00:07:43,360 >> Un ņemiet vērā, ka šie - 152 00:07:43,360 --> 00:07:48,610 Es gribu teikt, pseidonīmi, bet tās simboliem, dot un dot, dot, tie darbi 153 00:07:48,610 --> 00:07:51,740 diezgan daudz jebkuru komandu tu esi būs domāt par darboties. 154 00:07:51,740 --> 00:07:55,370 Tātad, piemēram, cd ir iespējams, ja jūs būsiet izmantojot visvairāk, bet tie nav 155 00:07:55,370 --> 00:07:56,780 lietas, kas vienkārši cd saprot. 156 00:07:56,780 --> 00:07:59,980 Tas ir diezgan daudz kaut kas jūsu visu komandrindas saprot. 157 00:07:59,980 --> 00:08:01,932 Programmas daudz saprast dot un dot, dot. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> Tātad citas noderīgas tiem - cd, domuzīme. 160 00:08:09,090 --> 00:08:13,460 Tātad, kas notiek, lai mani pēdējais katalogs, kas man bija iekšā 161 00:08:13,460 --> 00:08:15,980 Tāpēc dažreiz es darīšu kaut ko, piemēram, Ak, es esmu strādā šeit. 162 00:08:15,980 --> 00:08:21,110 Un es redzu kādu kļūdu ar kaut ko, un Es iešu izpētīt to, dodoties uz 163 00:08:21,110 --> 00:08:24,020 daži izlases katalogs kaut kur. 164 00:08:24,020 --> 00:08:25,260 Un es nezinu, ja tas būs ļaujiet man tur. 165 00:08:25,260 --> 00:08:25,720 Tā būs. 166 00:08:25,720 --> 00:08:27,615 Tad es darīt, ko es gribu šajā direktorijā. 167 00:08:27,615 --> 00:08:28,950 Blah, blah, blah, blah, blah. 168 00:08:28,950 --> 00:08:31,770 Un man bija, piemēram, labi, es gribu , lai dotos atpakaļ, kur es biju. 169 00:08:31,770 --> 00:08:34,490 cd, domuzīme, un tas dod man tiesības atpakaļ. 170 00:08:34,490 --> 00:08:39,970 >> Tāpēc es esmu gatavojas mest daudz no tiem pie jums šodien. 171 00:08:39,970 --> 00:08:43,730 Man nav gaidīt, lai jūs iegaumēt visas no tām. 172 00:08:43,730 --> 00:08:46,170 Tas ir sava veida tikai zinu ka tie pastāv. 173 00:08:46,170 --> 00:08:48,690 Un tad vēlāk, kad jūs, piemēram, hmm, es gribu, lai dotos atpakaļ uz 174 00:08:48,690 --> 00:08:51,870 direktoriju, ka man bija tikai pie, ak, pagaidiet, kaut kā tā pastāv. 175 00:08:51,870 --> 00:08:53,980 Jums nav vienkārši ierakstiet visu direktoriju vēlreiz. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: Un galu galā jums būs tikai izmantot tos atkal un atkal, un 177 00:08:56,090 --> 00:08:57,830 tas būs kļuvis muskuļu atmiņu. 178 00:08:57,830 --> 00:09:00,090 >> ROB: Jā. 179 00:09:00,090 --> 00:09:02,930 Tātad, kā es teicu iepriekš, ka Tilde ir jūsu mājas direktorijā. 180 00:09:02,930 --> 00:09:04,820 Tāpēc es varu cd, tildi. 181 00:09:04,820 --> 00:09:07,280 Bet man nav pat ir darīt, ja es tikai - 182 00:09:07,280 --> 00:09:09,760 Es iešu atpakaļ uz direktoriju, lai tas nav bezjēdzīgi piemērs. 183 00:09:09,760 --> 00:09:14,560 Bet, ja es vienkārši darīt cd, tas ir arī tāds pats kā, dodieties uz manu mājas direktorijā. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 Man komandu, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: Jūs varat rakstīt arī skaidrs, vārdu, un tas būtu skaidri to. 187 00:09:24,015 --> 00:09:28,650 >> ROB: Un es domāju, ka arī kontroles, L arī dara. 188 00:09:28,650 --> 00:09:29,690 Tik daudz dažādos veidos. 189 00:09:29,690 --> 00:09:34,070 Es domāju, ka tur ir dažas atšķirības, kur skaidri un kontrole, L būs tikai 190 00:09:34,070 --> 00:09:37,280 tiešām push to uz augšu un Es vēl joprojām var ritināt atpakaļ. 191 00:09:37,280 --> 00:09:40,580 Komandu, K burtiski iznīcina viss, un jūs 192 00:09:40,580 --> 00:09:42,960 nevar ritināt atpakaļ uz augšu. 193 00:09:42,960 --> 00:09:45,530 Vismaz, tas ir kā tā darbojas iTerm2. 194 00:09:45,530 --> 00:09:48,690 Es nezinu, cik citas lietas - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> Ar SSHing, tādēļ, ja jums ir uz Windows, jums nāksies lejupielādēt tepe 197 00:09:55,450 --> 00:10:02,360 lai SSH jo Windows nav ir, piemēram, iebūvētu SSH rīks. 198 00:10:02,360 --> 00:10:06,150 No Mac, jūs varat vienkārši SSH tieši no termināļa loga. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 Jautājumi? 202 00:10:11,840 --> 00:10:19,260 >> Ar ls, lai kaut ko, lai pierastu pie ar lielāko daļu no šīm komandām ir - 203 00:10:19,260 --> 00:10:20,060 labi, es ņemšu tikai darīt vienu. 204 00:10:20,060 --> 00:10:21,310 Ls, domuzīme, l. 205 00:10:21,310 --> 00:10:26,330 Tātad domuzīme, l ir tas, ko mēs gatavojamies zvanīt karogu ls. 206 00:10:26,330 --> 00:10:30,770 Un daudzi no šīm komandām ir karogiem ka jūs varat iet uz tiem. 207 00:10:30,770 --> 00:10:35,020 Tātad, šajā gadījumā, dash, l ir flag , kas stāsta to, lai dotu man pilnīgu 208 00:10:35,020 --> 00:10:37,850 uzskaitot visu informāciju, no šiem failiem. 209 00:10:37,850 --> 00:10:44,790 >> Tātad mēs redzam šeit, ka desktop bija modificēta 30.jūlijā plkst 00:54. 210 00:10:44,790 --> 00:10:47,160 Lejupielādes tika modificēts gada 6. 211 00:10:47,160 --> 00:10:52,350 Tie ir pašreizējais un Šo katalogi baiti. 212 00:10:52,350 --> 00:10:54,412 Jums nav saprast visu. 213 00:10:54,412 --> 00:11:00,380 >> Šī stuff pa kreisi, šie drwx s, ka būs daudz vairāk piemēroti 214 00:11:00,380 --> 00:11:02,290 vēlāk, kad jātiek galā ar - 215 00:11:02,290 --> 00:11:05,900 kas ir jādara ar to, kas ir atļaujas apskatīt šos failus. 216 00:11:05,900 --> 00:11:09,880 Un tādēļ, ja jums nav vienīgais lietotājs uz Šis dators, jūs varētu 217 00:11:09,880 --> 00:11:13,345 teiksim, OK, es būtu tikai viens atļauts apskatīt šo failu, vai es esmu 218 00:11:13,345 --> 00:11:14,870 gatavojas atļaut ikvienam paskatīties uz šo failu. 219 00:11:14,870 --> 00:11:17,710 Lai kāds cits manā datorā var apskatīt šo failu. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 Es pat nezinu, ko tas - ko tas dara? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: Es neesmu pilnīgi pārliecināts, faktiski. 223 00:11:26,840 --> 00:11:27,705 >> ROB: Nav ideja. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH: Bet, ja jūs nezināt, ka ir noderīga komanda, kuru var izmantot 225 00:11:30,530 --> 00:11:31,680 pateikt, kas produkciju nozīmē. 226 00:11:31,680 --> 00:11:33,780 Un, ja jūs tipa cilvēks pirms komandu - 227 00:11:33,780 --> 00:11:35,000 tā M-A-N. ROB: Man. 228 00:11:35,000 --> 00:11:37,690 Tāpēc man ir vēl viens , kas ir ļoti noderīga. 229 00:11:37,690 --> 00:11:39,540 Un cilvēks, ls. 230 00:11:39,540 --> 00:11:47,320 Tātad cilvēks lapas, tie ir gan komandas, ka jūs esat būs izmantojot 231 00:11:47,320 --> 00:11:50,330 pie komandrindas, un viņi arī ir funkcijas, kas būs būtiski 232 00:11:50,330 --> 00:11:52,530 ar C. Tātad jūs varat cilvēks - 233 00:11:52,530 --> 00:11:53,720 un es ignorēja 3. 234 00:11:53,720 --> 00:11:57,410 Bet man 3 printf gatavojas celt līdz C versiju printf. 235 00:11:57,410 --> 00:12:01,030 Bet, ja es vienkārši darīt vīrieti printf, tas ir gatavojas audzināt komandu printf 236 00:12:01,030 --> 00:12:03,540 kas notiek pie komandrindas. 237 00:12:03,540 --> 00:12:05,730 >> Tātad cilvēks, ls. 238 00:12:05,730 --> 00:12:09,030 Cilvēks lapas var būt diezgan milzīgs. 239 00:12:09,030 --> 00:12:12,770 Lūk, lai gan, jūs redzēsiet šo ierakstu Visu šo karogu, kas ls 240 00:12:12,770 --> 00:12:14,300 saprot. 241 00:12:14,300 --> 00:12:17,876 Tātad, ja mēs ejam uz domuzīme, l, un - 242 00:12:17,876 --> 00:12:19,300 Es esmu tikai gatavojas mest to pie jums. 243 00:12:19,300 --> 00:12:23,050 Bet, lai meklētu, jūs vēlaties vispirms skāra jautājumu 244 00:12:23,050 --> 00:12:24,780 preču zīme vai slash pogu. 245 00:12:24,780 --> 00:12:26,040 Tā slīpsvītra. 246 00:12:26,040 --> 00:12:29,000 >> Un tad es varu meklēt par ko es gribu. 247 00:12:29,000 --> 00:12:33,780 Tāpēc es esmu gatavojas slīpsvītra uz domuzīme, l. 248 00:12:33,780 --> 00:12:35,110 Un tur tas bija. 249 00:12:35,110 --> 00:12:37,450 Līdz ar to izmantot ilgu reģistrācijai formātā. 250 00:12:37,450 --> 00:12:40,060 Tas nenozīmē, ka man palīdzēt saprast, kāda ka īpaši kolonna nozīmēja, bet es 251 00:12:40,060 --> 00:12:44,480 uzņemties kaut kur šeit tas varētu izskaidrot to. 252 00:12:44,480 --> 00:12:48,740 Tāpēc izmantojiet cilvēks lapas par jebkuru komandu ka jums nav uzreiz saprast. 253 00:12:48,740 --> 00:12:51,080 >> Es esmu diezgan pārliecināts, ka jūs pat varat man, man. 254 00:12:51,080 --> 00:12:53,070 Saskarne tiešsaistē norāžu rokasgrāmatas. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 Ak, viens pēdējais, kas ir varbūt nedaudz nozīmīga ir ls, domuzīme,. 257 00:13:03,570 --> 00:13:08,490 Tāpēc paziņojums, ja es vienkārši darīt ls, Man šos piecus failus. 258 00:13:08,490 --> 00:13:11,480 Ja man ls, domuzīme,, es iegūt daudz vairāk failus. 259 00:13:11,480 --> 00:13:15,350 Tā lieta, kas kopīgs starp visiem šiem Jaunie faili ir dot iepriekš. 260 00:13:15,350 --> 00:13:21,220 >> Tāpēc konvencija ir, ka fails, kas sākas ar dot ir paslēpta. 261 00:13:21,220 --> 00:13:25,300 Tātad jūs nevēlaties redzēt šo failu, jums nevēlas, lai to sajaukt ar 262 00:13:25,300 --> 00:13:26,750 jūsu direktorija sarakstā. 263 00:13:26,750 --> 00:13:30,020 Tas ir tikai tad, kad skaidri jautāt, labi, ls, domuzīme,, parādiet man. 264 00:13:30,020 --> 00:13:32,830 Apzīmē visus failus, tostarp slēpto tiem. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 Tāpēc dažas citas komandas. 267 00:13:39,270 --> 00:13:41,323 Ak, jautājumi šajā brīdī? 268 00:13:41,323 --> 00:13:41,746 Jā. 269 00:13:41,746 --> 00:13:45,914 >> SPEAKER 3: Kad jūs ls, , kas ir dot, dot? 270 00:13:45,914 --> 00:13:46,870 >> ROB: Ak. 271 00:13:46,870 --> 00:13:48,780 Tātad šis ir tas, ko es runāju par. 272 00:13:48,780 --> 00:13:50,890 Tas ir tas pats, ja Es, piemēram, CD, dot, dot. 273 00:13:50,890 --> 00:13:56,790 Tik tehniski, dot un dot, dot ir failus, kas pastāv katru 274 00:13:56,790 --> 00:14:03,620 direktoriju, kur dot fails atsaucas pašreizējā direktorijā. 275 00:14:03,620 --> 00:14:06,930 Tātad, ja es cd, dot, es esmu tikai gatavojas palikt direktorijā. 276 00:14:06,930 --> 00:14:10,870 Un dot, dot, vienmēr atsaucas uz Iepriekšējā katalogs vienu līmeni uz augšu. 277 00:14:10,870 --> 00:14:18,200 Tātad, ja es eju uz žurnāliem un ls, domuzīme, al, Tiksimies dot, dot. cd uz dot, dot 278 00:14:18,200 --> 00:14:20,390 nes mani uz iepriekšējo direktorijā. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 Jā. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> Tātad vēl viens diezgan svarīgs komanda rm. 284 00:14:33,070 --> 00:14:35,650 Tātad tas, ko mēs gatavojamies izmantot, lai noņemtu. 285 00:14:35,650 --> 00:14:38,100 Un ļaujiet man patiesībā darīt citu komandu pirmās. 286 00:14:38,100 --> 00:14:39,610 Tā mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir ir, kā jūs varat izveidot direktoriju. 288 00:14:42,770 --> 00:14:47,530 Un es izveidot pagaidu direktoriju un iedziļināties šajā pagaidu direktorijā. 289 00:14:47,530 --> 00:14:49,590 Un, kā gaidīts, tas ir tukšs. 290 00:14:49,590 --> 00:14:53,680 Bet, ja es ls, domuzīme,, man joprojām ir dot un dot, dot, jo dot attiecas uz 291 00:14:53,680 --> 00:14:54,480 pašreizējā direktorijā. 292 00:14:54,480 --> 00:14:56,170 Un dot, dot attiecas iepriekšējā direktorijā. 293 00:14:56,170 --> 00:14:58,700 Un tie būs vienmēr pastāv vienalga katalogs, kurā atrodaties 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> Un tas ir pilnīgi nevajadzīga komandu, bet touch. 296 00:15:09,010 --> 00:15:11,880 Es esmu tikai izmantojot to, jo tas ir viegls veids, kā izveidot failus. 297 00:15:11,880 --> 00:15:16,180 Tātad pieskarties, pieskarties b, pieskarties c ir tikai gatavojas izveidot trīs failus sauc, 298 00:15:16,180 --> 00:15:17,845 b, un c, kas ir pilnīgi tukšs. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 Tātad jautājums mani radīt tiem pirmajā vietā ir tikai tāpēc, ka RM ir 301 00:15:24,980 --> 00:15:26,250 kā mēs varam noņemt tos. 302 00:15:26,250 --> 00:15:27,850 Tātad rm,. 303 00:15:27,850 --> 00:15:30,960 Tas ir gatavojas lūgt mani, izņemiet regulāra tukša datne? 304 00:15:30,960 --> 00:15:33,170 Un tad es saku jā. 305 00:15:33,170 --> 00:15:39,090 >> Tātad, ja es zinu, ka es gribu dzēst šo failu bez būt 306 00:15:39,090 --> 00:15:44,500 prasīts, noņemiet regulāru tukšu failu?, Tad rm, domuzīme, f būs 307 00:15:44,500 --> 00:15:48,230 karogu, kas saka, piespiest noņemt, pat pamudinot man, ak, tu esi 308 00:15:48,230 --> 00:15:49,710 pārliecināts, ka vēlaties dzēst failu? 309 00:15:49,710 --> 00:15:50,810 Jā, es esmu pārliecināts. 310 00:15:50,810 --> 00:15:56,050 Tātad rm, domuzīme, FB būs tikai darīt to neprasot. 311 00:15:56,050 --> 00:15:57,950 >> Tātad, pieņemsim veikt dažas vairāk katalogi. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, cd, tmp2, pieskarties, pieskarties b. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 Tāpēc tagad es vēlos, lai novērstu tmp2 kā direktoriju. 315 00:16:08,180 --> 00:16:10,316 Tā rm tmp2. 316 00:16:10,316 --> 00:16:12,920 Jūs nevarat noņemt tmp2, tas ir direktoriju. 317 00:16:12,920 --> 00:16:21,370 Tātad jautājums ir, ka rm nav uzreiz strādāt katalogi. 318 00:16:21,370 --> 00:16:26,530 Tas ir tikai domāts failiem, piemēram, nav direktorija failus. 319 00:16:26,530 --> 00:16:30,800 >> Un tā, ko mēs varam darīt, šeit ir rm, domuzīme, r. 320 00:16:30,800 --> 00:16:35,160 Kas apzīmē rekursīvi, kas varētu nenozīmē neko jums vēl. 321 00:16:35,160 --> 00:16:38,280 Bet, kad jums rekursijas, tas būs nozīmē vairāk. 322 00:16:38,280 --> 00:16:43,540 Tātad rm, domuzīme, r, tmp2 gatavojas rekursīvi iedziļināties šajā direktorijā. 323 00:16:43,540 --> 00:16:45,540 Tā var pāraugt katalogs tmp2? 324 00:16:45,540 --> 00:16:47,330 Jā, iesim uz to. 325 00:16:47,330 --> 00:16:49,360 Vai mēs gribam, lai noņemtu tmp2 /? 326 00:16:49,360 --> 00:16:49,745 Jā. 327 00:16:49,745 --> 00:16:51,830 Vai mēs gribam, lai noņemtu tmp2 / b? 328 00:16:51,830 --> 00:16:52,840 Jā. 329 00:16:52,840 --> 00:16:55,170 Tagad mēs vēlamies, lai novērstu direktoriju tmp2? 330 00:16:55,170 --> 00:16:56,040 Jā. 331 00:16:56,040 --> 00:16:58,410 Un tāpēc tagad katalogs un viss iekšā 332 00:16:58,410 --> 00:16:59,660 un tas ir noņemts. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> Ir tehniski komanda rmdir ka jūs varat izmantot, lai novērstu 335 00:17:07,250 --> 00:17:11,670 katalogi, bet tas darbojas tikai Tukšas katalogi anyway. 336 00:17:11,670 --> 00:17:14,109 Un redzēt, ka, pieņemsim tikai do mkdir, tmp2 vēlreiz. 337 00:17:14,109 --> 00:17:15,940 Tmp2, pieskarties. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 Tātad, ja es mēģinātu, lai novērstu dirtmp2, tas būs saka, uzziņu nav tukšs. 340 00:17:22,770 --> 00:17:29,540 Tāpēc es diezgan daudz nekad izmantot noņemt dir komandu anyway, jo rm, domuzīme, 341 00:17:29,540 --> 00:17:35,140 r strādās tukšos katalogi un nav tukšas katalogi. 342 00:17:35,140 --> 00:17:37,760 >> Un arī, ja es nevēlos, lai būtu iet caur šo visu procesu 343 00:17:37,760 --> 00:17:40,720 piedzīvotu direktoriju un noņemot katru atsevišķu failu, rm, 344 00:17:40,720 --> 00:17:44,190 domuzīme, RF, tmp2. 345 00:17:44,190 --> 00:17:45,670 Un tagad tas ir pagājis. 346 00:17:45,670 --> 00:17:51,220 >> Kaut jābūt uzmanīgiem par to ir rm, domuzīme, RF. 347 00:17:51,220 --> 00:17:53,660 Un tas biedē man pat to ierakstīt jo, ja es nejauši 348 00:17:53,660 --> 00:17:55,090 hit Enter vai kaut ko. 349 00:17:55,090 --> 00:18:02,735 Tātad rm, domuzīme, RF, Tilde būtu bez pamudinot man, f nav ātri 350 00:18:02,735 --> 00:18:05,670 man, tas automātiski noņemt visa mana mājas direktoriju un 351 00:18:05,670 --> 00:18:06,780 viss tajā. 352 00:18:06,780 --> 00:18:11,460 Tātad jūs domājat, ka tas stulba lieta darīt. 353 00:18:11,460 --> 00:18:12,830 Un labi, tas ir. 354 00:18:12,830 --> 00:18:18,600 >> Bet tas var notikt ļoti viegli negadījums, ja, teiksim, es gribēju, lai novērstu 355 00:18:18,600 --> 00:18:21,640 mans slīpsvītra vhost katalogs. 356 00:18:21,640 --> 00:18:26,610 Un tikai ātri rakstīt, Es nejauši izdarītu. 357 00:18:26,610 --> 00:18:31,880 Tas noņems rekursīvi gan manu mājas direktorijā un vhost katalogs 358 00:18:31,880 --> 00:18:35,450 šajā konkrētajā direktorijā, kas tikko notiek nepastāv tieši tagad. 359 00:18:35,450 --> 00:18:39,520 Bet tas tomēr likvidētu visa mana mājas direktorija. 360 00:18:39,520 --> 00:18:43,090 Vismaz, ko nav f, tas liks man vispirms. 361 00:18:43,090 --> 00:18:45,670 Un es gribētu būt, piemēram, ak, nē, es nevēlos to darīt. 362 00:18:45,670 --> 00:18:50,570 Bet cilvēki, slīpsvītra, tai skaitā man mēdz nokļūt 363 00:18:50,570 --> 00:18:53,090 ieradums vienmēr RF-ing. 364 00:18:53,090 --> 00:18:58,713 Pat regulāri failus, es varu tikai RM, c, man ir tendence tikai rm, domuzīme, RF, c. 365 00:18:58,713 --> 00:19:01,330 Tikai jābūt uzmanīgiem, kad jūs esat RF-ing. 366 00:19:01,330 --> 00:19:03,160 >> SPEAKER 4: Kāda C darīt? 367 00:19:03,160 --> 00:19:11,570 >> ROB: C ir Es runāju par to, ka C failu Šajā direktorijā, ka rm, c. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: Un vēl bīstami, ja jūs izmantojat zvaigzne, tas attiecas uz visu, kas ir 369 00:19:15,730 --> 00:19:16,450 direktoriju. 370 00:19:16,450 --> 00:19:20,040 Tātad, ko es parasti mēdz darīt, ir man būs iedziļināties direktoriju, un es vēlos, lai 371 00:19:20,040 --> 00:19:21,510 noņemt visus failus tur. 372 00:19:21,510 --> 00:19:23,640 Tātad rm, domuzīme, RF, zvaigzne. 373 00:19:23,640 --> 00:19:25,700 >> ROB: Jā. 374 00:19:25,700 --> 00:19:26,780 Rm, domuzīme, RF, zvaigzne. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: Un, ja jūs neesat uzmanīgi ko katalogs tu esi - 376 00:19:29,530 --> 00:19:33,340 Man nebija temp, bet man bija nejauši manā mājas direktorijā, 377 00:19:33,340 --> 00:19:35,450 Tad es noņemt visu manā mājas direktorijā. 378 00:19:35,450 --> 00:19:39,095 Un es esmu tiešām darījuši agrāk, un Es domāju, ka jūs esat izdarījuši, pirms, vai 379 00:19:39,095 --> 00:19:40,640 Jay ir darīts, ka pirms tam. 380 00:19:40,640 --> 00:19:42,480 >> ROB: Esmu nejauši noņemts - 381 00:19:42,480 --> 00:19:44,480 tāpēc ignorēt šo komandu mazliet. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH: Nav jautri. 383 00:19:45,800 --> 00:19:52,650 >> ROB: Tātad slash bin direktorijā ir ķekars bināro failu, kur būs 384 00:19:52,650 --> 00:19:54,840 jāpārzina tiem, piemēram, šķindēt. 385 00:19:54,840 --> 00:20:00,740 Nu, šķindēt un būtībā visi šie lietas, ka es skrienu pie komandu 386 00:20:00,740 --> 00:20:02,060 līnija ir šajā slash bin direktorijā. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Tāpat ls ir šeit. 388 00:20:03,090 --> 00:20:06,285 >> ROB: Tātad dot, slīpsvītra, ls būtu uzskaitīt šo direktoriju. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm ir arī šajā direktorijā. 390 00:20:08,120 --> 00:20:12,770 >> ROB: Es nejauši RM, RF-ed bin, kas noņem jebkuru komandu es varētu 391 00:20:12,770 --> 00:20:14,380 iespējams, kādreiz vēlaties. 392 00:20:14,380 --> 00:20:18,085 Kas tad es vienkārši pārinstalēt Jaunais Appliance tajā brīdī. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH: Tāpēc jābūt ļoti uzmanīgiem, Izmantojot šo komandu. 394 00:20:20,170 --> 00:20:21,120 >> Mērķauditorija: [dzirdams]? 395 00:20:21,120 --> 00:20:22,640 >> ROB: Jā. 396 00:20:22,640 --> 00:20:24,135 Tas ir arī slikts ieradums, lai nokļūt. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 Ja jūs novērojat, es esmu tagad - 399 00:20:30,170 --> 00:20:33,580 labi, jūs varat nepamanīt, bet mans zoom-in varbūt var. 400 00:20:33,580 --> 00:20:35,360 Tāpēc es esmu tagad root @ ierīci. 401 00:20:35,360 --> 00:20:39,790 Tāpēc jharvard ir lietotājs, mēs gribam jūs vienmēr izmantot. 402 00:20:39,790 --> 00:20:43,820 Sakne ir lietotājs, kam ir atļauja darīt pilnīgi jebko. 403 00:20:43,820 --> 00:20:50,260 >> Tāpēc paziņojums, kad es esmu jharvard, ja es mēģinātu cd - 404 00:20:50,260 --> 00:20:52,461 kas ir katalogs, kas? 405 00:20:52,461 --> 00:20:53,980 Ak, sakne ir labs piemērs. 406 00:20:53,980 --> 00:20:54,950 Tātad cd, saknes. 407 00:20:54,950 --> 00:20:56,030 Atļauja liegta. 408 00:20:56,030 --> 00:21:00,060 Jo, ja mēs skatāmies uz šo sludinājumu - 409 00:21:00,060 --> 00:21:02,410 un atkal, jums nav pilnībā saprast. 410 00:21:02,410 --> 00:21:09,210 Bet šīs trīs svītriņas saka ka neļaujiet jebkuru citu 411 00:21:09,210 --> 00:21:11,120 lietotājs šajā direktorijā. 412 00:21:11,120 --> 00:21:14,540 Un direktoriju notiek pieder lietotājam root. 413 00:21:14,540 --> 00:21:20,310 >> Tāpēc, ka es esmu jharvard un nav kurš nav sakne ir ielaista 414 00:21:20,310 --> 00:21:23,490 šajā direktorijā, tas nozīmē, ka es esmu gatavojas saņemt atļauju liegta, kad es 415 00:21:23,490 --> 00:21:25,160 mēģināt cd to. 416 00:21:25,160 --> 00:21:31,370 Tātad, kad es esmu sakne, man ir atļauja darīt pilnīgi jebko, tai skaitā 417 00:21:31,370 --> 00:21:34,660 dzēst svarīgi failus ierīcei un 418 00:21:34,660 --> 00:21:36,640 iznīcināt visu lieta. 419 00:21:36,640 --> 00:21:41,240 >> Tātad, tas ir slikts ieradums, lai nokļūt vienkārši klīstot apkārt savu 420 00:21:41,240 --> 00:21:43,650 operētājsistēma kā root. 421 00:21:43,650 --> 00:21:46,520 Es to darīt anyway. 422 00:21:46,520 --> 00:21:48,710 Jautājumi? 423 00:21:48,710 --> 00:21:52,230 Un es izietu saknes, palikt kā jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> Vairāk attiecīgās komandas. 426 00:21:55,820 --> 00:22:03,975 Tā iet atpakaļ mūsu temp, mv komandu nozīmē pārvietoties. 427 00:22:03,975 --> 00:22:05,450 Jūs varat pārvietoties. 428 00:22:05,450 --> 00:22:07,610 Tagad mēs vēlamies, lai izsauktu to b, tāpēc tagad to sauc b. 429 00:22:07,610 --> 00:22:10,650 Vai varbūt mēs vēlamies virzīties b up vienā direktorijā. 430 00:22:10,650 --> 00:22:12,730 Tāpēc tagad šajā direktorijā ir tukšs. 431 00:22:12,730 --> 00:22:15,410 Es iešu atpakaļ uz manu mājas direktoriju, un mēs redzam, ka b ir šeit, jo 432 00:22:15,410 --> 00:22:19,230 home direktorija bija viena direktorija uz augšu no katalogs, b bija iekšā 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> Tur ir arī cp. 435 00:22:26,580 --> 00:22:33,210 Tāpēc cp ir kopēt super sadaļu, dot, teksts. 436 00:22:33,210 --> 00:22:35,750 Es aicinu to s, dot, teksts. 437 00:22:35,750 --> 00:22:39,780 Tagad mums ir gan super sadaļā, dot, teksta, un s, dot, teksts. 438 00:22:39,780 --> 00:22:41,340 Tas arī strādā katalogi. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 Es RF-ED vienu failu. 441 00:22:46,560 --> 00:22:48,200 Tā cp - 442 00:22:48,200 --> 00:22:51,710 labi, vispirms pamēģināsim KP, TPP tmp2. 443 00:22:51,710 --> 00:22:53,220 Tātad, izlaižot direktoriju tmp. 444 00:22:53,220 --> 00:22:57,440 Tik līdzīgs RM, noklusējuma darbība ir ne strādāt katalogi. 445 00:22:57,440 --> 00:23:01,570 >> Un atkal, līdzīgi kā rm, noklusējuma uzvedība - labi, panākt, lai to darbu 446 00:23:01,570 --> 00:23:04,230 ar katalogi ir, domuzīme, r prom. 447 00:23:04,230 --> 00:23:09,240 Tātad, kopēt rekursīvi temp direktoriju uz tmp2. 448 00:23:09,240 --> 00:23:13,700 Un tāpēc tagad mums ir gan TMP un tmp2, un kas nav tik noderīgi, jo TMP 449 00:23:13,700 --> 00:23:16,814 bija tukša pirmajā vietā. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> Tagad pieņemsim kopēt tmp uz tmp2. 452 00:23:22,680 --> 00:23:27,900 Un mēs redzam, ka tmp2 ir arī failu , jo direktoriju un 453 00:23:27,900 --> 00:23:32,220 viss iekšpusē, kas direktorija tika kopēts. 454 00:23:32,220 --> 00:23:36,000 Un tas var būt nedaudz noderīgi ja, teiksim, jūs strādājat 455 00:23:36,000 --> 00:23:38,860 par problēmu iestatīt vienu - 456 00:23:38,860 --> 00:23:41,320 vai tiešām, vēlāk problēma kopas ir vēl svarīgāka, jo tur 457 00:23:41,320 --> 00:23:43,660 būs viss ķekars failus un lietām. 458 00:23:43,660 --> 00:23:47,010 >> Bet jūs vienkārši vēlaties, lai split otrkārt, jūs, piemēram, labi, es esmu 459 00:23:47,010 --> 00:23:50,210 gatavojas izmēģināt kaut ko atšķiras. 460 00:23:50,210 --> 00:23:57,860 Ļaujiet man tikai kopētu visu manu pset1 direktoriju uz pset1 rezerves, lai gadījumā, ja 461 00:23:57,860 --> 00:24:01,490 Es galu galā skrūvēšanai lietas uz augšu, es varu iet atpakaļ manā rezerves direktorijā. 462 00:24:01,490 --> 00:24:07,340 Ir vairāk piemēroti veidi versijām atbalstīt savu kodu, bet 463 00:24:07,340 --> 00:24:10,610 tas ir vienmēr ātrs veids, lai tikai padarītu pārliecināts, ka jums ir kopiju kaut 464 00:24:10,610 --> 00:24:11,860 ka jūs gatavojaties mainīt. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> Tāpēc echo ir arī vienreizēja komanda, kas veida sillily būs tikai drukāt 467 00:24:27,090 --> 00:24:31,540 komandrindas tieši to, ko jūs vēlētos atkārtot. 468 00:24:31,540 --> 00:24:32,680 Tā echo hi. 469 00:24:32,680 --> 00:24:35,420 Mēs vienkārši izdrukāt hi. 470 00:24:35,420 --> 00:24:38,030 Echo hello world. 471 00:24:38,030 --> 00:24:39,800 Mēs drukāt sveiki pasauli. 472 00:24:39,800 --> 00:24:44,350 Kas stājas lietošanai, ja jūs sākt apvienojot komandas. 473 00:24:44,350 --> 00:24:48,300 >> Un atkal, nav gaidīt, lai jūs pilnībā saprastu šo vēl, bet tas ir 474 00:24:48,300 --> 00:24:49,910 kaut ko redzēt. 475 00:24:49,910 --> 00:24:52,470 Un tad, ja jūs Googling piemērus vai tu saproti, ko vēlaties darīt 476 00:24:52,470 --> 00:24:55,030 kaut ko, tas var būt noderīgi. 477 00:24:55,030 --> 00:24:59,020 Tātad pieņemsim, kā, piemēram, tāpēc ls, domuzīme, l. 478 00:24:59,020 --> 00:25:01,160 Tātad, šeit es redzu produkciju gada ls, domuzīme, l. 479 00:25:01,160 --> 00:25:06,560 Un es saku, OK, es gribu uzglabāt, ka failā. 480 00:25:06,560 --> 00:25:11,620 Visu šo produkciju šeit, es gribu ielikt atsevišķā failā. 481 00:25:11,620 --> 00:25:16,080 >> Tāpēc tas nedaudz lielāks par simbolu ir tas, ko mēs ejam, lai izsauktu. 482 00:25:16,080 --> 00:25:18,570 Mēs esam novirzot izejas failā. 483 00:25:18,570 --> 00:25:21,680 Sauksim failu blah, jo tas ir ko es parasti vienmēr to nosaukt. 484 00:25:21,680 --> 00:25:26,430 Tāpēc tagad mēs redzam, mums ir failu blah šeit. 485 00:25:26,430 --> 00:25:30,270 Un, ja es atvērtu to uz augšu, es redzu, tas ir tieši izejas no komandu 486 00:25:30,270 --> 00:25:31,990 ka es tikko bija. 487 00:25:31,990 --> 00:25:36,020 Un tāpat, jūs varat - 488 00:25:36,020 --> 00:25:41,260 ja tas bija izeja uz failu, šis ir saņemt informāciju no faila. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 Kas ir komanda, kas I - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH: Es domāju, ka jūs varat izmantot mazāk vai vairāk, droši vien. 492 00:25:49,620 --> 00:25:53,031 >> ROB: Bet kā par nedaudz mazāk blah? 493 00:25:53,031 --> 00:25:53,930 Es nezinu. 494 00:25:53,930 --> 00:25:57,870 Ja jūs nākt uz šo scenāriju, piemēram, tur ir psets, ka tas ir noderīgi. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH: Jūs varat pipe to atbalsi. 496 00:25:59,950 --> 00:26:02,920 Caurules ar failu atbalsi to redzēt. 497 00:26:02,920 --> 00:26:04,060 >> ROB: Tas ir caurules. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: Sorry. 499 00:26:04,860 --> 00:26:06,190 >> ROB: Nu labi. 500 00:26:06,190 --> 00:26:12,720 Tātad šis ir izeja uz failu. 501 00:26:12,720 --> 00:26:18,700 Tas ir iegūt tekstu no faila un nodot to ar programmu. 502 00:26:18,700 --> 00:26:20,560 Un jūs arī redzēt šo puisis. 503 00:26:20,560 --> 00:26:24,410 Tātad šis ir veids, kā to abiem vienlaicīgi. 504 00:26:24,410 --> 00:26:28,310 Un patiesībā, es ieviest divus jaunus komandas, tikai, lai izmantotu to. 505 00:26:28,310 --> 00:26:33,060 >> Vēsture ir ērts komanda, kas ir tikai gatavojas izdrukāt sarakstu 506 00:26:33,060 --> 00:26:34,940 kaut ko es jebkad esmu palaist komandrindu. 507 00:26:34,940 --> 00:26:38,290 Tātad mēs redzam šeit visu, kas man ir vadījusi visu šo laiku. 508 00:26:38,290 --> 00:26:39,540 Daudz ls s. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> Un cita noderīga komanda grep, ka tā mērķis ir meklēt vairāk 511 00:26:48,470 --> 00:26:52,060 teksta meklē modeļus, labi, meklē Kāds jums 512 00:26:52,060 --> 00:26:53,310 vēlaties to meklēt. 513 00:26:53,310 --> 00:26:59,770 Un tā parocīgs lietošana šeit ir, teiksim Mēs vēlamies, lai greifers vēsturi. 514 00:26:59,770 --> 00:27:03,860 Un es vēlos meklēt komandām kur es - kas ir 515 00:27:03,860 --> 00:27:05,000 noderīgs viens meklēt? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [dzirdams]? 517 00:27:06,898 --> 00:27:09,710 >> ROB: Vai pieņemsim tikai meklē visiem pieskaras, lai kāda iemesla dēļ. 518 00:27:09,710 --> 00:27:13,850 Tātad, tas ir tas, ko tas izskatās. 519 00:27:13,850 --> 00:27:15,560 Un jums nav pilnīgi saprotu, ka. 520 00:27:15,560 --> 00:27:20,570 Bet ideja ir šeit, vēsture dod pats izejas tas notika šeit 521 00:27:20,570 --> 00:27:25,030 ja tas drukāšanu veic visu vēsture viss, ko es jebkad esmu palaist. 522 00:27:25,030 --> 00:27:27,030 Mēs tad iet, ka - 523 00:27:27,030 --> 00:27:30,230 tā vietā, drukāšanas to uz ekrāna, mēs vēlamies iet, ka, lai 524 00:27:30,230 --> 00:27:34,640 komanda grep ko meklē visi gadījumi vārdu pieskārienu. 525 00:27:34,640 --> 00:27:40,280 >> Un tāpēc, izmantojot šo kombināciju instrumenti vēsturi un grep, es redzu, OK, 526 00:27:40,280 --> 00:27:44,820 šeit ir visas komandas es esmu jebkad palaist, un šeit ir nedaudz izplatīts. 527 00:27:44,820 --> 00:27:45,510 Mēs esam apakšā. 528 00:27:45,510 --> 00:27:47,930 Un tas ir arī dod man komandu Es tikko bija, ka bija 529 00:27:47,930 --> 00:27:51,240 vārds touch tajā. 530 00:27:51,240 --> 00:27:58,500 Bet caurule ir diezgan noderīga lieta par apvienojot vairākas programmas. 531 00:27:58,500 --> 00:28:04,670 Un patiesībā, tas ir īsceļu let man izejas vēsture iesniegt blah, un 532 00:28:04,670 --> 00:28:10,190 ļaujiet man grep izmantojot failu blah par to, ko es gribu, lai apskatīt. 533 00:28:10,190 --> 00:28:13,460 Tādēļ caurule ir tikai saīsne par šiem diviem komandas. 534 00:28:13,460 --> 00:28:13,950 Jā. 535 00:28:13,950 --> 00:28:15,306 >> SPEAKER 4: [dzirdams]? 536 00:28:15,306 --> 00:28:16,556 >> ROB: Jā. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 Kas ir - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 Pieņemsim pārbaudīt. 541 00:28:24,820 --> 00:28:29,170 Tātad kaķis, suns, zivs. 542 00:28:29,170 --> 00:28:33,770 Tāpēc es vēlos, lai grep. 543 00:28:33,770 --> 00:28:37,680 Domuzīme, r, atkal būs rekursīvi, tāpēc es gribu nolaisties uz leju 544 00:28:37,680 --> 00:28:38,870 visi katalogi. 545 00:28:38,870 --> 00:28:43,210 Es gribu, lai rekursīvi grep visiem - un ļaujiet man uz laiku nokļūt 546 00:28:43,210 --> 00:28:44,460 šis no tā. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 Ignorēt mani. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> Tāpēc es gribu, lai uz laiku grep par visi gadījumi vārdu zivis. 551 00:28:56,740 --> 00:29:00,510 Un tāpēc šeit to, ko es daru, ir grepping rekursīvi par vārdu zivīm. 552 00:29:00,510 --> 00:29:05,410 Un zvaigzne ir visas no tām faili šajā direktorijā. 553 00:29:05,410 --> 00:29:08,930 Un tā tas deva man Atļauja liegta, jo tas nav atļauts lasīt, ka 554 00:29:08,930 --> 00:29:10,060 īpaši fails. 555 00:29:10,060 --> 00:29:14,040 Bet tā konstatēja zivis failu, pārbaudi. 556 00:29:14,040 --> 00:29:18,450 >> Es varētu arī teikt, konkrēti, es tikai vēlaties meklēt failu blah, jo 557 00:29:18,450 --> 00:29:19,580 tādā gadījumā tas nebūs atrast neko. 558 00:29:19,580 --> 00:29:20,990 Es tikai vēlos izskatīties failā, testu. 559 00:29:20,990 --> 00:29:22,240 Tas atradīs zivis. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 Tas ir diezgan noderīga komanda zināt kopumā. 562 00:29:29,260 --> 00:29:31,640 Ir dažas alternatīvas grep , kas ir vajadzētu būt vairāk 563 00:29:31,640 --> 00:29:36,780 programmētājs draudzīgs, bet man ir tendence joprojām krist atpakaļ grep. 564 00:29:36,780 --> 00:29:38,030 Jautājumi? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> Vai ir citas komandas? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 Tikai vienreizējs viens, ka es vienmēr atrast, lai būtu jautri, ir cal. 570 00:29:48,370 --> 00:29:55,610 Tāpēc paziņojums, kad es esmu šī jaukā pilnekrāna režīmā, man nav, piemēram, top 571 00:29:55,610 --> 00:29:56,720 rīkjoslā vai neko. 572 00:29:56,720 --> 00:29:59,530 Tāpēc cal tikai dod man jauku maz kalendārs, kas ir labi 573 00:29:59,530 --> 00:30:02,380 tagad nogriezts, es pieņemu. 574 00:30:02,380 --> 00:30:04,770 Bet jauka maz komandu. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: Tas ir [nedzirdama]. 576 00:30:06,540 --> 00:30:09,170 Citas komandas, kas jums varētu būt redzējuši ietver šķindoņa un darīt. 577 00:30:09,170 --> 00:30:11,180 Mēs iet pār tiem sīkāk vēlāk. 578 00:30:11,180 --> 00:30:13,400 Bet, ja jūs esat strādājusi par PSET, jums vajadzētu būt 579 00:30:13,400 --> 00:30:15,160 iepazinušies ar tiem. 580 00:30:15,160 --> 00:30:16,640 >> ROB: Nu labi. 581 00:30:16,640 --> 00:30:18,520 Jautājumi par komandrindas lietām? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 Labi. 584 00:30:23,260 --> 00:30:27,416 Tāpēc pieņemsim pāriet uz dažām C-related stuff. 585 00:30:27,416 --> 00:30:28,666 Mainīgie math. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 Tāpēc, tāpat kā mums bija math Scratch, Jūs varat arī izmantot math C. 589 00:30:45,230 --> 00:30:49,270 >> Pirms mēs nokļūt, ka pilnībā, tik mainīgie. 590 00:30:49,270 --> 00:30:53,920 Atcerieties, ka, ja jūs atzīt mainīgais, piemēram, int x vai peldēt y, jums 591 00:30:53,920 --> 00:30:56,710 ir arī tā rakstīt pirms mainīgā nosaukums. 592 00:30:56,710 --> 00:31:03,020 Tāpēc veidi, mēs esam redzējuši līdz šim ir int, peldēt, dubultā, ilgi ilgi, ko es 593 00:31:03,020 --> 00:31:06,150 nav tiešām zināt, ja mēs esam redzams, ka līdz šim. 594 00:31:06,150 --> 00:31:07,700 >> Ir daži citi tiem. 595 00:31:07,700 --> 00:31:09,990 Mēs esam redzēt char. 596 00:31:09,990 --> 00:31:13,920 Tur ir īss, kas ir tāpat kā tas ir pretējs ilgi ilgi, kur tas ir 597 00:31:13,920 --> 00:31:16,650 mazāks nekā vesels skaitlis. 598 00:31:16,650 --> 00:31:18,580 Mēs arī esam redzējuši virkni. 599 00:31:18,580 --> 00:31:23,070 Tātad, kas ir īpašs par string? 600 00:31:23,070 --> 00:31:25,350 Tāpēc es teiktu, ka tas ir ne gluži tāpat int? 601 00:31:25,350 --> 00:31:27,030 >> SPEAKER 4: Tas nav īsti nepastāv. 602 00:31:27,030 --> 00:31:27,990 >> ROB: Jā. 603 00:31:27,990 --> 00:31:31,820 Tāpēc vienīgais iemesls, mums ir virkne ir tāpēc, ka tad, kad jūs 604 00:31:31,820 --> 00:31:33,215 hash, ietver cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 Un mēs redzēsim piemērus šo vēlāk - oh, ka nav norāžu, ka labi - 607 00:31:42,670 --> 00:31:46,160 kur cs50.h dara kaut ko pa līniju tipa 608 00:31:46,160 --> 00:31:49,230 def, char zvaigzne, stīgu. 609 00:31:49,230 --> 00:31:53,280 >> Un tā tas ir saprotams, ka mums nav pat zināt, kas char zvaigzne ir vēl. 610 00:31:53,280 --> 00:31:56,770 Bet tas ir saprotams, mēs vēlamies virkni. 611 00:31:56,770 --> 00:32:00,250 Jebkura vieta, kur jūs esat, izmantojot virkni, jums varēja izmantot char zvaigzne, 612 00:32:00,250 --> 00:32:04,670 kas patiesībā ir veids, kas pastāv C valodā. 613 00:32:04,670 --> 00:32:06,680 Bet mēs nokļūt, ka. 614 00:32:06,680 --> 00:32:07,860 Ak, un tas iet pa labi atpakaļ. 615 00:32:07,860 --> 00:32:10,170 Veikls. 616 00:32:10,170 --> 00:32:15,370 >> Tātad pats ar bool kur patiess un nepatiess. 617 00:32:15,370 --> 00:32:22,510 Tas nav īsti iebūvēts tips C Tā vietā, tas ir tikai, vai tas ir 618 00:32:22,510 --> 00:32:23,740 vērtība nulle? 619 00:32:23,740 --> 00:32:26,200 Tad mēs tikai apsvērt ka tā ir nepatiesa. 620 00:32:26,200 --> 00:32:27,350 Vai tas ir vērtība - 621 00:32:27,350 --> 00:32:30,530 labi, tas ir kāds vērtību, kas nav nulle? 622 00:32:30,530 --> 00:32:32,200 Tad mēs uzskatām, ka, lai būtu patiesība. 623 00:32:32,200 --> 00:32:35,940 Tātad, viens ir taisnība, divi ir taisnība, kaut kas nav nulle, ir taisnība. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 Tātad tie ir tie. 626 00:32:42,790 --> 00:32:47,624 Jautājumi par pasludināts mainīgo un mainīgo veidi un visu, kas? 627 00:32:47,624 --> 00:32:48,100 Jā. 628 00:32:48,100 --> 00:32:52,384 >> SPEAKER 4: Par ilgi ilgi, grāmatā, tas, ka tā bija ilgi ilgi int. 629 00:32:52,384 --> 00:32:54,288 Bet vienkārši ilgi ilgi strādā? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> ROB: Tātad šie tipa modifikatori. 632 00:33:01,470 --> 00:33:04,170 Tā int x. 633 00:33:04,170 --> 00:33:07,710 Tātad, mēs varam arī teikt, neparakstīts int x. 634 00:33:07,710 --> 00:33:09,640 Mēs varam teikt īss int x. 635 00:33:09,640 --> 00:33:12,570 Mēs varam teikt, ilgi ilgi int x. 636 00:33:12,570 --> 00:33:17,250 Bet diezgan daudz jebkuru no šīm lietām, es tikko teica, neparakstīts int, īss int, 637 00:33:17,250 --> 00:33:21,480 ilgi ilgi int, jūs varat atbrīvoties no int, un tas būs tikai pieņemt 638 00:33:21,480 --> 00:33:22,510 ka jums nozīmē int. 639 00:33:22,510 --> 00:33:26,045 Tāpēc neparakstītu x, kas nozīmē tikai to - 640 00:33:26,045 --> 00:33:29,400 jūs zināt, kā parasti ar int, Jūs varat teikt, x ir vienāds ar negatīvu 3? 641 00:33:29,400 --> 00:33:31,636 Ar neparakstītu int, jūs nevarat. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: Un atkal, par kameru, Jautājums ir, kāda ir atšķirība 643 00:33:34,480 --> 00:33:37,796 starp ilgu ilgu int un tikai ilgi ilgi? 644 00:33:37,796 --> 00:33:38,410 >> ROB: Jā. 645 00:33:38,410 --> 00:33:42,850 Tāpēc es gandrīz nekad rakstīt ilgi ilgi int. 646 00:33:42,850 --> 00:33:44,100 Es rakstīt ilgi ilgi. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: Kādi jautājumi? 649 00:33:50,636 --> 00:33:51,886 >> ROB: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 Tik dumjš maz atgādinājums, ka, kā mēs deklarēt mainīgo un sāktu 652 00:34:02,390 --> 00:34:04,450 mainīgo un atzīt citu mainīga un inicializēt 653 00:34:04,450 --> 00:34:05,870 tas viss vienā solī. 654 00:34:05,870 --> 00:34:09,370 Tik mainīgā deklarācijas un inicializācijas mainīgais nav 655 00:34:09,370 --> 00:34:11,120 līdz bet var būt uz vienas līnijas. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> Tāpēc mums ir standarta math operatoru ka esat pieradis - 658 00:34:20,060 --> 00:34:22,199 plus, mīnus, dalīt, laiki. 659 00:34:22,199 --> 00:34:24,389 Tur ir arī moduli, ko mēs redzēsim. 660 00:34:24,389 --> 00:34:29,060 Nav, vismaz C, iebūvēts jaudas 661 00:34:29,060 --> 00:34:31,765 Kāpināšana caret operators. 662 00:34:31,765 --> 00:34:33,770 Nu, ir caret operators bet tas nav jaudas. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH: Bet tas nav Kāpināšana, Jā. 664 00:34:34,239 --> 00:34:36,210 >> ROB: Nelietojiet caret pieņemt, ka tas nozīmē, 665 00:34:36,210 --> 00:34:39,980 piemēram, kvadrātveida vai neatkarīgi. 666 00:34:39,980 --> 00:34:42,289 Tāpēc dažas lietas, kas jāpatur prātā, par sadalīšanu. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 Es stāvēt. 669 00:34:48,880 --> 00:34:51,315 Tāpēc pasludināja inicializēt atbilde. 670 00:34:51,315 --> 00:34:54,670 Tāpēc mēs esam sakot float atbildi ir 1 dalīts ar 10. 671 00:34:54,670 --> 00:34:57,500 Drukāt atbildi līdz diviem cipariem aiz komata. 672 00:34:57,500 --> 00:35:02,180 >> Un tas ir tāda veida lieta, ka es tas cilvēks printf saprast, ka 673 00:35:02,180 --> 00:35:05,110 ko heck tas%, dot, 2.f nozīmē? 674 00:35:05,110 --> 00:35:07,930 Un tas nozīmē tikai to, labi, ignorējot 0.2. 675 00:35:07,930 --> 00:35:10,420 Un%, f ir tas, ko mēs izmantojam drukāt peldēt. 676 00:35:10,420 --> 00:35:15,370 0.2 saka, drukāt, ka peldēt līdz diviem cipariem aiz komata. 677 00:35:15,370 --> 00:35:19,600 Tāpēc šī programma ir par kļūdu, un jūs varētu esmu redzējis šo pirms dažās 678 00:35:19,600 --> 00:35:20,870 pirms CS kursu. 679 00:35:20,870 --> 00:35:22,170 Bet kas tas ir bug? 680 00:35:22,170 --> 00:35:23,050 >> SPEAKER 5: Zero. 681 00:35:23,050 --> 00:35:24,130 >> ROB: Jā. 682 00:35:24,130 --> 00:35:29,630 Tātad, kad mēs sakām, atbilde ir vienāds 1 dalīts ar 10, mēs gribam 683 00:35:29,630 --> 00:35:31,610 atbildēt būt 0.1. 684 00:35:31,610 --> 00:35:37,450 Bet 1 dalīts ar 10, 1 ir skaitlis, 10 ir vesels skaitlis. 685 00:35:37,450 --> 00:35:41,060 Un tad, kad mēs vesels skaitlis dalīts ar skaitlis, mēs ejam, lai saņemtu atpakaļ 686 00:35:41,060 --> 00:35:42,190 vesels skaitlis. 687 00:35:42,190 --> 00:35:43,660 Tātad 1 dalīts ar 10, ir 0,1. 688 00:35:43,660 --> 00:35:46,760 >> Tā kā tas ir nepieciešams, lai dotu mums vesels skaitlis, tas ir tikai gatavojas mest prom, ka 689 00:35:46,760 --> 00:35:49,410 aiz komata un teikt, ka atbilde ir 0. 690 00:35:49,410 --> 00:35:55,314 Un tad, kad mēs drukāt atbildi šeit tas notiek, lai drukātu 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: Un tāpat kā piezīmi, tā faktiski met prom to, kas ir pēc tam, kad 692 00:35:58,430 --> 00:35:59,390 komatu. 693 00:35:59,390 --> 00:36:03,180 Tātad, ja jūs, nevis bija 6 dalīts ar 10, Jūs varētu domāt, ka tas dotu jums 694 00:36:03,180 --> 00:36:05,200 0,6, un tad jūs varētu noapaļot līdz 1. 695 00:36:05,200 --> 00:36:10,520 Bet patiesībā, kas notiek, ja tā tipa uzdevumus, tas ir, ka tas samazinās, kas ir 696 00:36:10,520 --> 00:36:11,470 aiz komata. 697 00:36:11,470 --> 00:36:13,020 Tātad 0.6 nav kļuvis 0. 698 00:36:13,020 --> 00:36:13,370 >> ROB: Jā. 699 00:36:13,370 --> 00:36:15,160 Un mēs sakām saīsināt par to. 700 00:36:15,160 --> 00:36:21,760 Tātad, ja jūs nodot int, decimal tiek saīsināts. 701 00:36:21,760 --> 00:36:23,980 Tāpēc noteikt, ka - tur ir faktiski divi. 702 00:36:23,980 --> 00:36:27,890 Un es esmu gatavojas darīt, ka otro, jo tas viens ir daudz vieglāk noteikt. 703 00:36:27,890 --> 00:36:32,670 >> Tāpēc viens noteikt ir izmantot pludiņiem sadalīšanas. 704 00:36:32,670 --> 00:36:34,720 Un tiešām, jums ir tikai ka viens no tiem pludiņš. 705 00:36:34,720 --> 00:36:37,400 Bet tas ir nedaudz skaidrāks tikai lai gan no tiem pludiņi. 706 00:36:37,400 --> 00:36:41,170 Tātad 1,0 dalīts ar 10,0 ir dalot divas pludiņiem. 707 00:36:41,170 --> 00:36:43,970 Tātad atbilde galu galā ir peldēt, un tāpēc jums būs 708 00:36:43,970 --> 00:36:48,050 pareizi drukāt 0,10 šeit. 709 00:36:48,050 --> 00:36:52,220 >> Kaut kas nedarbojas tik labi par to, ka ir labi, protams, tas bija viegli 710 00:36:52,220 --> 00:36:56,240 pietiekami, lai pārvērstu 1 līdz peldēt, padarot to 1.0. 711 00:36:56,240 --> 00:37:02,180 Bet ko tad, ja tā vietā mums bija divi skaitļu piemēram, int x ir vienāds ar 1 un int y 712 00:37:02,180 --> 00:37:05,660 vienāds ar 10, un tad mēs vēlējāmies to do x dala ar y? 713 00:37:05,660 --> 00:37:10,420 Tātad tas nav viegli tikai darīt x.0 vai kaut ko. 714 00:37:10,420 --> 00:37:12,790 >> Tāpēc noteikt to, kas ir izšķirošā. 715 00:37:12,790 --> 00:37:19,780 Tāpēc liešana ir veids, C pārvērst no viena mainīga veida uz citu. 716 00:37:19,780 --> 00:37:22,320 Tātad, ar 1 ir vesels skaitlis. 717 00:37:22,320 --> 00:37:27,050 Un ieviešot šo peldēt priekšā tā, mēs esam liešana no 1 līdz apgrozāmos līdzekļus. 718 00:37:27,050 --> 00:37:30,350 Un tā tas būs pārvērst 1 līdz 1,0. 719 00:37:30,350 --> 00:37:33,380 Un tas būs pārvērst 10 līdz 10,0. 720 00:37:33,380 --> 00:37:36,790 >> Un tad lietas uzvedas līdzīgi iepriekšējā versijā mēs tikko parādīja 721 00:37:36,790 --> 00:37:42,190 ja, kā plānots, mēs 0.10 un tas būs drukāt to. 722 00:37:42,190 --> 00:37:44,120 Un mēs varam darīt to ar mainīgie, too. 723 00:37:44,120 --> 00:37:47,376 Tātad, mēs varam teikt, float x dalīts ar float y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: Kādi jautājumi? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> ROB: Tātad tāpat kā regulāru math, mums ir operatora prioritāte. 727 00:38:00,090 --> 00:38:06,960 Tātad matemātikas klasē, jūs, visticamāk, , lai izsauktu to secību operāciju. 728 00:38:06,960 --> 00:38:09,890 Lūk, oficiālais termiņš ir operators prioritāte. 729 00:38:09,890 --> 00:38:15,230 Bet operators prioritāte, vai vairums operatoriem, ir, kā jūs varētu gaidīt. 730 00:38:15,230 --> 00:38:22,660 >> Tātad tāpat kā matemātika, 2 reizes 10 ir būs sagrupēti ciešāk nekā 731 00:38:22,660 --> 00:38:25,410 šie 10 dalīts ar 2 un tad 2. 732 00:38:25,410 --> 00:38:29,745 Operāciju kārtība, tas būs jādara 2 reizes 10, 10, dalot ar 2, un pēc tam 733 00:38:29,745 --> 00:38:32,720 tas būs jādara 20 plus 5 plus 2. 734 00:38:32,720 --> 00:38:37,020 Tātad, tas ir, kā gaidīts, un jūs varat izmantot iekavās grupēt izteiksmes. 735 00:38:37,020 --> 00:38:41,063 Jūs nevarat izmantot kvadrātiekavas grupēt izteiksmēm. 736 00:38:41,063 --> 00:38:41,544 Yeah? 737 00:38:41,544 --> 00:38:43,468 >> SPEAKER 5: Vai jūs faktiski tikai iet atpakaļ vienu sekundi? 738 00:38:43,468 --> 00:38:47,316 Vai jūs cast int par virkni? 739 00:38:47,316 --> 00:38:53,330 >> ROB: Tātad C, jūs varat nodot jebko Jūs vēlaties, lai kaut ko vēlaties. 740 00:38:53,330 --> 00:38:55,600 Tas nenozīmē, ka tas ir laba lieta darīt. 741 00:38:55,600 --> 00:38:59,760 Tātad, kad jūs cast int lai string, tas nozīmē - 742 00:38:59,760 --> 00:39:03,240 un mēs nokļūt šajā daudz rūpīgāk - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: Daudz vēlāk. 744 00:39:03,720 --> 00:39:06,840 >> ROB: Es negribēju teikt, daudz vēlāk, tāpēc es mēģināju mainīt savu spriedumu. 745 00:39:06,840 --> 00:39:13,370 Mēs nokļūt to daudz pamatīgāk vēlāk, ja tiešām, ja jums ir 746 00:39:13,370 --> 00:39:14,810 string mainīgais - 747 00:39:14,810 --> 00:39:17,160 tāpēc virkne var būt patvaļīgi ilgi, vai ne? 748 00:39:17,160 --> 00:39:21,850 Un mēs esam teicis, ka int ir četri baiti, un ilgi ilgi ir astoņi 749 00:39:21,850 --> 00:39:23,620 baiti, un pludiņš ir četri baiti. 750 00:39:23,620 --> 00:39:29,520 Tātad stīgu, tāpat kā int, ir tikai noteiktu skaitu baitu uz to. 751 00:39:29,520 --> 00:39:31,800 Un tas būs četri baiti. 752 00:39:31,800 --> 00:39:34,750 >> Bet virkne var būt diezgan patvaļīgi ilgi, vai ne? 753 00:39:34,750 --> 00:39:40,190 Tātad sveiki pasaule jau, ja tas ir 10 rakstzīmes vai kāds, kas ir jau 754 00:39:40,190 --> 00:39:42,670 būs vairāk nekā 4 baiti Es varu ievietot virkni. 755 00:39:42,670 --> 00:39:51,140 Un tā kā stīgas tiešām strādā ir tas, ka tie ir, kur atmiņā, ka virkne 756 00:39:51,140 --> 00:39:52,380 tiek turēti. 757 00:39:52,380 --> 00:39:57,290 >> Un tā vairāk nekā šeit, kad es saku virkne x vienāds Hello pasaulē, iekšpusē X 758 00:39:57,290 --> 00:40:01,840 tikai saku, ak, hello pasaule ir saglabāts šajā konkrētajā vietā atmiņā. 759 00:40:01,840 --> 00:40:07,060 Tātad, ja mēs cenšamies nodot veselam skaitlim, lai string, tad mēs cenšamies interpretēt 760 00:40:07,060 --> 00:40:10,500 daži izlases daļa no atmiņas kā virkni. 761 00:40:10,500 --> 00:40:14,465 Un tas gandrīz vienmēr pārtraukumiem lietas. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH: Bet, ja tas mulsina jums, mēs būsim kas uz to 763 00:40:17,040 --> 00:40:17,550 dziļāk vēlāk. 764 00:40:17,550 --> 00:40:17,850 >> ROB: Jā. 765 00:40:17,850 --> 00:40:20,540 Tas ir, ja jūs gatavojas nokļūt norādes. 766 00:40:20,540 --> 00:40:25,485 Un tas ir būtisks gabals Divu nedēļu laikā pēc šo kursu. 767 00:40:25,485 --> 00:40:28,275 >> SPEAKER 6: Vai tas darbojas, piemēram, objektu citās valodās, vai nav īsti? 768 00:40:28,275 --> 00:40:34,050 >> ROB: Tātad, citās valodās, objektu būtu pārstāvētas, izmantojot norādes. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 Tas nav tas pats, though. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 Jebkurš domas? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: Nē. 774 00:40:43,760 --> 00:40:44,185 Nekādas domas. 775 00:40:44,185 --> 00:40:44,980 >> ROB: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH: Next. 777 00:40:46,994 --> 00:40:48,255 >> ROB: Just iet ar to. 778 00:40:48,255 --> 00:40:48,670 Labi. 779 00:40:48,670 --> 00:40:51,120 Tā moduļa. 780 00:40:51,120 --> 00:40:53,900 Tāpat kā mums ir plus, mīnus, dalīt un reizināt. 781 00:40:53,900 --> 00:40:56,720 Tāpēc moduli ir viens no jums var nebūtu redzējis. 782 00:40:56,720 --> 00:40:59,540 Un tā vienkārši saka, dod man atlikušo. 783 00:40:59,540 --> 00:41:02,850 Tātad, 55% 10. 784 00:41:02,850 --> 00:41:06,840 Darīt 55 atlikušo dalīts līdz 10 būs 5. 785 00:41:06,840 --> 00:41:09,630 Tātad, 55% 10, ir 5. 786 00:41:09,630 --> 00:41:12,260 Un 3% 5 būtu 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 būs 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 būs 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: Viena lieta atzīmēt ar to, Arī tas var nedarboties, kā paredzēts 790 00:41:20,670 --> 00:41:22,700 ja jūs izmantojat negatīvu skaitli. 791 00:41:22,700 --> 00:41:26,215 Tik negatīvas 5% 4, daži cilvēki varētu domāt, ka ir - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 ko jūs domājat negatīvs 5% 4 būtu? 794 00:41:33,808 --> 00:41:34,792 >> SPEAKER 5: One. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: Tātad daži cilvēki saka vienu, daži cilvēki saka negatīvas. 796 00:41:37,920 --> 00:41:38,450 Bet ko - 797 00:41:38,450 --> 00:41:40,820 >> ROB: Es pat nebūtu teica viens no tiem. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH: Divi, sorry. 799 00:41:42,370 --> 00:41:43,240 Daži cilvēki saka - 800 00:41:43,240 --> 00:41:43,450 >> ROB: Three. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH: Three? 802 00:41:43,800 --> 00:41:44,890 >> ROB: negatīvs - 803 00:41:44,890 --> 00:41:45,950 kas bija - negatīvs pieci - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH: Trīs, trīs, trīs. 805 00:41:47,100 --> 00:41:48,450 Piedodiet. 806 00:41:48,450 --> 00:41:51,910 Jo modulēt, parasti tad, kad jūs esat redzējuši kaut kur citur, tas parasti nozīmē, 807 00:41:51,910 --> 00:41:54,000 atgriezties pozitīvu skaitli, vai ne? 808 00:41:54,000 --> 00:42:01,160 >> ROB: Tātad, kad mēs sakām matemātikā,% 10 s, viņi parasti vēlas, lai dotu jums - 809 00:42:01,160 --> 00:42:05,980 ja mēs mod par 10, tad mēs sagaidām, lai iegūt skaitli starp 0 un 9. 810 00:42:05,980 --> 00:42:09,860 Šeit, tas nav tas gadījums, ka jums saņems negatīvie skaitļi atpakaļ. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH: Tik negatīva 5% 4 būtu negatīvs 1. 812 00:42:15,898 --> 00:42:19,325 >> ROB: Bet tas ir reti, ka tu esi mod-ing negatīvie skaitļi, lai sāktu ar. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 Izlaist šo. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: Jā. 816 00:42:27,314 --> 00:42:29,420 >> ROB: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 Tātad viena pēdējā lieta, norādīt par pludiņi tas ir bīstami uzvedību, 819 00:42:36,400 --> 00:42:39,850 bet pludiņi nav precīza pārstāvība. 820 00:42:39,850 --> 00:42:46,190 Tā iet atpakaļ uz baitu atkal, atcerieties ka int vienmēr ir četri baiti, un 821 00:42:46,190 --> 00:42:47,830 pludiņš vienmēr ir četri baiti. 822 00:42:47,830 --> 00:42:51,340 Tāpēc Lucas piemērs ir diezgan laba. 823 00:42:51,340 --> 00:42:55,730 >> Tāpēc domāju, ka par 1 dalīts ar 3. 824 00:42:55,730 --> 00:42:57,800 Tā 0,3333333. 825 00:42:57,800 --> 00:43:03,540 Ja man ir tikai 32 biti, kā var Es glabāt 0,33333 tieši? 826 00:43:03,540 --> 00:43:07,250 Un varbūt, kāda iemesla dēļ, jūs sakāt, labi, labi, pieņemsim tikai teikt, 827 00:43:07,250 --> 00:43:13,210 ka šis konkrētais 1011001, pieņemsim tikai teikt, ka vajadzētu būt 0,333333. 828 00:43:13,210 --> 00:43:16,960 Nu, jums ir tikai ierobežots skaits šie biti, tāpēc tas ir iespējams 829 00:43:16,960 --> 00:43:22,550 pārstāv katru peldošo punktu vērtība, tikai 32 bitu. 830 00:43:22,550 --> 00:43:25,580 >> Nu, tas ir neiespējami, lai pārstāvētu kādu peldošā punkta vērtība, bezgalīgs - 831 00:43:25,580 --> 00:43:28,480 labi, ņemot vērā jebkādu noteiktu skaitu bitu. 832 00:43:28,480 --> 00:43:38,265 Tātad jautājums ir, labi, ja mēs izmantojām drukāt līdz diviem cipariem aiz komata, 833 00:43:38,265 --> 00:43:42,000 mēs neesam pareizi saņemt atbildi 0,10. 834 00:43:42,000 --> 00:43:47,510 Bet zem motora pārsega, tas ir patiešām tiek saglabāti kā pēc iespējas tuvāk 835 00:43:47,510 --> 00:43:51,790 0.10 jo tiem bitiem var pārstāvēt. 836 00:43:51,790 --> 00:43:53,200 Tas ir uz nākamo slaidu? 837 00:43:53,200 --> 00:43:53,830 Vai ne? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: Jā, tas ir tik. 839 00:43:54,660 --> 00:43:55,750 >> ROB: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Jā, jūs varat vienkārši pull piezīmes pat mazliet. 841 00:43:57,760 --> 00:43:59,700 >> ROB: Es esmu tikai gatavojas, lai tuvinātu kas par pēdējo par to. 842 00:43:59,700 --> 00:44:00,950 Ak mans Dievs, tas ir [nedzirdama]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 Tā, ka numuru. 845 00:44:08,300 --> 00:44:12,300 Tas ir tas, kas tiks drukāts ja mēs palaist šo programmu. 846 00:44:12,300 --> 00:44:20,340 Un paziņo, ka tas nav īsti liels galā ja mēs esam tikai rūpējas par, piemēram, 847 00:44:20,340 --> 00:44:21,920 02:58 zīmēm aiz komata. 848 00:44:21,920 --> 00:44:26,700 Tāpat kā mēs tikai sākotnēji iespiests 0.10, un tas ir iemesls, kāpēc mēs redzējām nekas nepareizs. 849 00:44:26,700 --> 00:44:31,380 Bet tad, kad mēs sākam nokļūst precīzu, precīzu skaitu, ka tas ir 850 00:44:31,380 --> 00:44:35,660 pārstāv, mēs redzam, ka tā nevar tieši tā pārstāv 0,1. 851 00:44:35,660 --> 00:44:40,900 >> Un daļa no problēmas šeit ir līdzīgs, labi, tas ir jauki, bet, labi, 852 00:44:40,900 --> 00:44:46,120 Pirmais, kas notiks, ja mēs mēģinājām darīt, Atbilde ir vienāds vienāds ar 0,1? 853 00:44:46,120 --> 00:44:49,200 Ir tas, ka gatavojas atgriezties patiess vai nepatiess? 854 00:44:49,200 --> 00:44:51,850 Un tāpēc ir grūti pateikt. 855 00:44:51,850 --> 00:44:53,330 Es domāju, ka tas tiešām varētu atgriezties taisnība. 856 00:44:53,330 --> 00:44:55,265 Būs tas pirmais - 857 00:44:55,265 --> 00:44:56,180 Es nezinu. 858 00:44:56,180 --> 00:45:00,090 Atbilde ir, kad jūs sākat darīšana ar peldošā komata vērtībām, jūs diezgan 859 00:45:00,090 --> 00:45:05,150 daudz nevajadzētu izmantot vienlīdzību jo šīs neprecizitātes. 860 00:45:05,150 --> 00:45:09,470 >> Un visi jūs zināt, tas ir simtā zīmi aiz komata, ka 861 00:45:09,470 --> 00:45:13,670 peldošā komata nevarēja pareizi rīkoties. 862 00:45:13,670 --> 00:45:18,180 Un tā vienlīdzība vienkārši nespēj pat lai gan numurs - ja Jums ir bijusi 863 00:45:18,180 --> 00:45:24,450 izmantojot precīzus skaitļus, to skaits ir ir tieši tāds pats. 864 00:45:24,450 --> 00:45:27,790 Tā gaitā, piemēram, 50 aprēķini, izmantojot šos peldošs 865 00:45:27,790 --> 00:45:30,270 punktu vērtības, kļūda var veidot augšu un uz augšu un uz augšu, un 866 00:45:30,270 --> 00:45:31,125 lietas tikai iegūt nepareizi. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: Un tur ir bijis ļoti slavens piemēri šā procesa. 868 00:45:33,870 --> 00:45:37,190 Piemēram, NASA inženieri ir gotten šo nepareizi, radot raķetes eksplodēt 869 00:45:37,190 --> 00:45:38,665 gaisa, kad tie esam bijis uzsākta. 870 00:45:38,665 --> 00:45:41,490 Un daudz jautājumu, piemēram, ka. 871 00:45:41,490 --> 00:45:41,956 So yeah. 872 00:45:41,956 --> 00:45:45,218 >> SPEAKER 6: Kad jūs sakāt 0,3 f, tas saīsināt pārējo? 873 00:45:45,218 --> 00:45:46,468 Vai tas noapaļot uz augšu vai uz leju? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> ROB: Vai printf ap to? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH: Es domāju, ka printf saīsina. 877 00:45:52,180 --> 00:45:52,640 >> ROB: OK. 878 00:45:52,640 --> 00:45:59,890 Tātad, mēs varam tāpat iet pretējā virziens tas, kur šajā gadījumā 879 00:45:59,890 --> 00:46:03,320 tuvākais varētu pārstāvēt 0.1 bija ar šo numuru. 880 00:46:03,320 --> 00:46:06,820 Tuvākais tas varētu pārstāv 0,2 ir pretējā 881 00:46:06,820 --> 00:46:11,420 virzienā, 0,199999996356 vai kaut ko. 882 00:46:11,420 --> 00:46:17,480 Tātad, ja mēs devāmies šajā virzienā lietas, tad printf 0.3 f varētu atgriezties 883 00:46:17,480 --> 00:46:20,866 1.99 vietā 2.00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: Un es neesmu pilnīgi pārliecināts par to. 885 00:46:22,960 --> 00:46:25,430 Jūs varētu vēlēties, lai rakstītu mazs, nedaudz programmu, lai vienkārši pārbaudītu to. 886 00:46:25,430 --> 00:46:29,370 >> ROB: Lai gan, tas, ko mēs esam pārliecināti, ka Ja esat mēģinājuši nodot, ka, lai 887 00:46:29,370 --> 00:46:33,660 int, un liešana uz int gatavojas izraisīt to saīsināt decimāldaļu, ja 888 00:46:33,660 --> 00:46:38,140 jūs mēģināt nodot 1.9999999 int, jūs saņemsiet 1. 889 00:46:38,140 --> 00:46:41,440 Un tāpēc jums vajadzētu parasti izmanto kārta funkcija math bibliotēkā. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 Jautājumi? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: Tā virzās uz apstākļiem un Būla izteiksmes. 895 00:46:54,000 --> 00:46:58,120 Tātad jūs esat redzējuši šo pirms tam. 896 00:46:58,120 --> 00:47:07,420 Un faktiski, ļaujiet man pārliecinieties my dators ir pareizā formātā šeit. 897 00:47:07,420 --> 00:47:08,670 Telpa. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 Atvainojiet, mēs esam nāksies risināt Mazliet ar nogriešana pie malas. 900 00:47:13,870 --> 00:47:15,830 >> Bet jā, jūs puiši ir redzējuši šo pirms nulles. 901 00:47:15,830 --> 00:47:19,930 Tāpēc tas šeit ir izteiksme , kas tiek izmantots 902 00:47:19,930 --> 00:47:21,250 nosacījuma apgalvojums. 903 00:47:21,250 --> 00:47:23,930 Tātad atbilde ir lielāka par nulli gribas pateiks, patiess vai nepatiess. 904 00:47:23,930 --> 00:47:26,530 Un tie ir ļoti svarīgi, jo tie ļauj mums ieviest 905 00:47:26,530 --> 00:47:28,670 loģika mūsu kodu. 906 00:47:28,670 --> 00:47:32,820 >> Tā, piemēram, tas ir programma rakstīts nulles, kas prasa lietotājam 907 00:47:32,820 --> 00:47:36,980 par skaitlim un stāsta viņiem, vai vesels skaitlis, ka viņi deva jums bija 908 00:47:36,980 --> 00:47:38,690 pozitīvs vai negatīvs skaitlis. 909 00:47:38,690 --> 00:47:42,980 Un konversijas vairāk nekā šeit, lai redzētu, ir jums vispirms izdrukāt paziņojumu, 910 00:47:42,980 --> 00:47:43,870 man vesels skaitlis. 911 00:47:43,870 --> 00:47:45,980 Un tad jūs lūgt tos veselam skaitlim. 912 00:47:45,980 --> 00:47:49,870 >> Un tad jūs izmantojat nosacītu loģiku vairāk šeit, lai pārbaudītu, vai šis skaitlis 913 00:47:49,870 --> 00:47:52,030 patiesībā bija lielāks par nulli, vai ne. 914 00:47:52,030 --> 00:47:58,960 Tātad, šeit mums ir Būla izteiksme iekšpusē nosacījuma Ja paziņojumu. 915 00:47:58,960 --> 00:48:00,660 Vai ir kādi jautājumi? 916 00:48:00,660 --> 00:48:03,030 Vai ir kādi jautājumi par šo? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> Tātad, tur ir vairāk nekā tikai lielāka nekā, protams. 919 00:48:06,140 --> 00:48:10,385 Jūs varat izveidot Būla izteiksmes izmanto lielākā daļa no lietām veidu tu 920 00:48:10,385 --> 00:48:11,150 varētu domāt par math. 921 00:48:11,150 --> 00:48:12,370 Tā pārsniedz. 922 00:48:12,370 --> 00:48:13,740 Tas būtu mazāk nekā. 923 00:48:13,740 --> 00:48:14,990 Piedodiet. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 Un atstarpes. 926 00:48:19,760 --> 00:48:22,971 >> ROB: nedod Dievs jūs atstāt to. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH: Nu labi. 928 00:48:23,620 --> 00:48:25,950 Tātad lielāks, mazāks, lielāks par vai vienāds ar mazāk 929 00:48:25,950 --> 00:48:27,070 par vai vienāds ar. 930 00:48:27,070 --> 00:48:31,980 Mēs izmantojam dubultās vienāds, lai pārbaudītu vienlīdzība, jo atsevišķu vienāds līdzekļus 931 00:48:31,980 --> 00:48:32,810 uzdevums, vai ne? 932 00:48:32,810 --> 00:48:33,140 Jā. 933 00:48:33,140 --> 00:48:37,130 Un tad mēs varam arī nav vienāds ar izmantojot izsaukuma zīmi, ir vienāds. 934 00:48:37,130 --> 00:48:41,530 >> Un šī izsaukuma zīmes simbols var arī jāpaplašina tā, ka, ja jūs vēlaties, 935 00:48:41,530 --> 00:48:44,050 lai apmainītu jebkādu Būla izteiksme, jūs varat darīt. 936 00:48:44,050 --> 00:48:48,530 Tātad šis novērtēs to patieso tikai tad, ja atbilde ir mazāka 937 00:48:48,530 --> 00:48:51,240 vai vienāda ar nulli. 938 00:48:51,240 --> 00:48:53,950 Kādi jautājumi par šo? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> Tātad jūs varat arī kombinēt šos izteiksmes izmanto loģiski un un 941 00:48:58,840 --> 00:48:59,790 loģiski Or. 942 00:48:59,790 --> 00:49:03,530 Tāpēc tas ir tikai un simbols, kas būtu Shift, 7. 943 00:49:03,530 --> 00:49:07,720 Un tas ir caurules simbols, kas ir ne zemāku gadījums L. Tas ir viens 944 00:49:07,720 --> 00:49:09,440 tas ir labi virs Enter taustiņu. 945 00:49:09,440 --> 00:49:12,870 Tātad jūs izmantojat divus no šiem, kas simbolizē loģisks un loģiski Or. 946 00:49:12,870 --> 00:49:18,180 >> Tāpēc šī būs tikai atgriezties true tad, ja atbilde ir viens, divi, trīs vai četri. 947 00:49:18,180 --> 00:49:23,030 Un tas būs tikai atgriezties true tad, ja atbilde ir ārpus tā abās pusēs. 948 00:49:23,030 --> 00:49:26,190 Tātad, tas nav viens, divi, trīs vai četri. 949 00:49:26,190 --> 00:49:28,385 Un, kā jūs varētu izmantot ka izteiksmē - 950 00:49:28,385 --> 00:49:29,990 >> Rob: Vai nulle vai pieci. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero vai pieci. 952 00:49:32,200 --> 00:49:32,380 Piedodiet. 953 00:49:32,380 --> 00:49:33,320 Jā, jā, jā. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 Un vairāk šeit tagad, tāpat jums varētu izmantot šo izteicienu, mazāku 956 00:49:38,980 --> 00:49:42,000 izpausme pusē Ja nosacījuma paziņojumu, jūs varētu arī izmantot to par 957 00:49:42,000 --> 00:49:47,800 Tāpat, tikai ievietojot to iekšpusē iekavas no IF. 958 00:49:47,800 --> 00:49:54,020 Tāpēc šī printf tikai uguns, ja atbilde ir viens, divi, trīs vai četri. 959 00:49:54,020 --> 00:49:56,002 Kādi jautājumi par apvienojot izteiksmes? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> Tātad tur ir vēl viens nosacījums Konstruēt mēs saucam Ja / Else. 962 00:50:04,240 --> 00:50:08,120 Tātad, būtībā, tas tagad nozīmē, OK, ja kaut ko es gribēju, lai pārbaudītu nebija 963 00:50:08,120 --> 00:50:11,600 taisnība, tad iet uz citu, un veikt šo citu darbību. 964 00:50:11,600 --> 00:50:15,570 Tātad šajā konkrētajā gadījumā, es jautāju lietotāju par skaitlim. 965 00:50:15,570 --> 00:50:17,790 Ir vesels skaitlis, kas ir lielāka par nulli? 966 00:50:17,790 --> 00:50:18,310 Jā? 967 00:50:18,310 --> 00:50:20,100 Nu, tad viņi izvēlējās pozitīvs skaitlis. 968 00:50:20,100 --> 00:50:22,320 Ja ne, tad tai jābūt bijis negatīvs vai nulle. 969 00:50:22,320 --> 00:50:27,530 Tātad jūs noplūktiem negatīvu skaitli vai nulle šajā gadījumā. 970 00:50:27,530 --> 00:50:29,235 Jā. 971 00:50:29,235 --> 00:50:30,485 Vai nulle. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> Un tad mums ir arī Ja / Else, Ja un Else. 974 00:50:39,300 --> 00:50:45,640 Tātad tas ļauj mums veikt virkni lietas, tikai tad, ja pirmie neizdoties. 975 00:50:45,640 --> 00:50:49,540 Tātad šajā gadījumā, tagad mēs nesam pēdējais jums izvēlēties nulle. 976 00:50:49,540 --> 00:50:53,080 Tātad, ja viņi nav pacēla pozitīvu, ne negatīvs skaitlis, tad tie ir 977 00:50:53,080 --> 00:50:53,640 ir palielinājies nulle. 978 00:50:53,640 --> 00:50:56,720 Tāpēc tas tikai iet uz leju ķēdes, kā šis. 979 00:50:56,720 --> 00:50:59,960 >> Tāpēc piemērs tam, kā Ja ir atšķirīgs no - 980 00:50:59,960 --> 00:51:02,590 Ja / Else atšķiras no tikai secība IF. 981 00:51:02,590 --> 00:51:07,680 Un tas ir kopīgs jautājums, ka cilvēki uzdod, ir, labi, ja jums patīk 982 00:51:07,680 --> 00:51:11,265 95 CS50, kāda būs šī Programma jums saku? 983 00:51:11,265 --> 00:51:12,600 >> SPEAKER 5: Tev ir A. 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: Jā. 985 00:51:13,490 --> 00:51:14,960 Jums katru viens no tiem labi. 986 00:51:14,960 --> 00:51:17,130 Jums ir A, jums ir B, jūs ieguvuši C un D, ​​vai ne? 987 00:51:17,130 --> 00:51:19,770 Tātad visi šie iegūt vērtēta lai. 988 00:51:19,770 --> 00:51:23,570 Tāpēc, kamēr 95 ir lielāks par 90, tas ir arī lielāka par 80, tas ir arī 989 00:51:23,570 --> 00:51:25,790 lielāks par 70, un tas ir arī lielāka par 60. 990 00:51:25,790 --> 00:51:27,620 Tātad jums visas šīs pakāpes. 991 00:51:27,620 --> 00:51:31,630 Un es pieņemu, jūs varētu tikai vēlos A. 992 00:51:31,630 --> 00:51:34,060 >> Veids, kā noteikt, kas ir, lai aizstātu tiem, kuriem ir cits / Ja 's. 993 00:51:34,060 --> 00:51:37,540 Tātad šajā scenārijā, tā uzskata, ka 95 ir lielāks par 90, un pēc tam tas 994 00:51:37,540 --> 00:51:38,885 nedrīkst novērtēt pārējo par paziņojumiem. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 Kādi jautājumi par šo? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> Tātad tur ir vēl viens nosacījums veida struktūru, kas mums ir šeit, ko mēs 999 00:51:52,470 --> 00:51:53,390 zvaniet slēdzi paziņojumu. 1000 00:51:53,390 --> 00:51:57,390 Tātad tas ļauj jums, lai būtībā pārbaudīt kāda vērtība numuru jūs likts 1001 00:51:57,390 --> 00:51:59,000 uz slēdzis apgalvojums ir. 1002 00:51:59,000 --> 00:52:03,200 Tātad šajā scenārijā, mēs esam pārejot no n, un mēs esam sakot, oh, ja n ir 1003 00:52:03,200 --> 00:52:04,710 viens, pēc tam izdrukāt šo paziņojumu. 1004 00:52:04,710 --> 00:52:07,910 Un tad pārtraukums, kas nozīmē izeju no slēdža aprēķinā. 1005 00:52:07,910 --> 00:52:12,670 >> Ja tas nav viens, tad, labi, tikai galu galā pārbaudīt visas no šīm lietām. 1006 00:52:12,670 --> 00:52:16,280 Un tā pārbauda, ​​vai tas ir viens vai divi vai trīs, un tas drukā atbilstoši. 1007 00:52:16,280 --> 00:52:19,780 Un ko tas noklusējuma atslēgvārds šeit lejā līdzekļi ir, ja tie nav pievienoties jebkurai 1008 00:52:19,780 --> 00:52:21,690 no tiem, tad saka nederīgs. 1009 00:52:21,690 --> 00:52:25,910 Tātad pieņemsim, ka es lūdzu n un lietotājs dod man četri. 1010 00:52:25,910 --> 00:52:29,470 Nu, tas atbilst Nevienā no šiem gadījumiem, tāpēc tas būs izdrukāt to, kas ir 1011 00:52:29,470 --> 00:52:30,540 noklusējuma sadaļā. 1012 00:52:30,540 --> 00:52:31,180 Jā, jautājums? 1013 00:52:31,180 --> 00:52:32,614 >> SPEAKER 5: Jūs varat izmantot Būla izteiksmes vietā 1014 00:52:32,614 --> 00:52:33,570 viens, divi, trīs vai? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH: Tātad jautājums ir, jūs varat izmantot Būla izteiksmes, nevis vienā, 1016 00:52:36,940 --> 00:52:37,940 divi, un trīs? 1017 00:52:37,940 --> 00:52:40,520 Un C, es uzskatu, ka jums nevar darīt. 1018 00:52:40,520 --> 00:52:44,320 Bet arī citās valodās, ko jūs varētu saskarties beigās 1019 00:52:44,320 --> 00:52:46,460 semestris, piemēram, JavaScript, jūs varat. 1020 00:52:46,460 --> 00:52:50,050 Nu, jums būs, lai aprēķinātu pirmo šī vērtība un pēc tam izmantot to 1021 00:52:50,050 --> 00:52:50,650 slēdzis paziņojumu. 1022 00:52:50,650 --> 00:52:50,930 Yeah? 1023 00:52:50,930 --> 00:52:54,760 >> Rob: So daļa labā slēdzi pārskatos, ir domāt par, ja jūs šo 1024 00:52:54,760 --> 00:52:58,680 jo ja / cits, tāpēc, piemēram, ja n ir vienāds ir vienāds ar vienu vai neatkarīgi. 1025 00:52:58,680 --> 00:53:00,300 Cits / Ja n ir vienāds vienāds ar divi, neatkarīgi. 1026 00:53:00,300 --> 00:53:01,960 Cits / Ja n ir vienāds vienāds ar trīs. 1027 00:53:01,960 --> 00:53:05,930 Tā kā programma darbojas, ir tas būtu secīgi iet uz leju šis saraksts 1028 00:53:05,930 --> 00:53:07,500 un pārbaudīt, ir n vienu? 1029 00:53:07,500 --> 00:53:08,040 Nē. 1030 00:53:08,040 --> 00:53:09,070 Ir n divi? 1031 00:53:09,070 --> 00:53:09,490 Nē. 1032 00:53:09,490 --> 00:53:10,940 Ir n trīs? 1033 00:53:10,940 --> 00:53:11,710 Jā. 1034 00:53:11,710 --> 00:53:12,610 Izdarīt. 1035 00:53:12,610 --> 00:53:15,270 >> Bet ar slēdzi paziņojumiem, tas ir tiešām varētu sastādīt tā, lai būtu 1036 00:53:15,270 --> 00:53:16,360 ļoti ātri. 1037 00:53:16,360 --> 00:53:19,550 Un, tiklīdz tas saka slēdzis, tas saka, viss ir labi, n ir divi, es esmu 1038 00:53:19,550 --> 00:53:23,060 Nekavējoties gatavojas lēkt uz vietu, kur Es esmu vajadzēja sākt izpildīt. 1039 00:53:23,060 --> 00:53:26,080 Es neesmu gatavojas vispirms pārbaudīt, n ir viens, ir n divas? 1040 00:53:26,080 --> 00:53:28,860 To var nekavējoties sākt darīt kas tas ir paredzēts darīt. 1041 00:53:28,860 --> 00:53:33,830 >> Un tāpēc, ka tas nevar veikt Būla nosacījumus. 1042 00:53:33,830 --> 00:53:36,480 Vai arī tas būtu jādara kārtas, piemēram, labi, ir n 1043 00:53:36,480 --> 00:53:37,820 lielāka par nulli? 1044 00:53:37,820 --> 00:53:41,140 Pārējais ir n lielāks par 10 vai neatkarīgi. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: Šajā gadījumā, ja jūs izmantojāt Ja / Else, ja ir, tad slēdzis būtu 1046 00:53:44,780 --> 00:53:47,792 palaist aptuveni trīs reizes ātrāk nekā ja / cits, ja tas. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 Mēs varam organizēt slēdzi tādā tā, ka mums nav pauze 1049 00:53:56,040 --> 00:53:57,520 pēc tam, kad katra no gadījumiem. 1050 00:53:57,520 --> 00:54:00,960 Tātad šajā gadījumā, es esmu šķērssienu skaitļi, kas mēs izvēlēties vienā un 1051 00:54:00,960 --> 00:54:04,250 divi ir nav liels skaits, un trīs ir liels skaits. 1052 00:54:04,250 --> 00:54:08,290 >> Tātad, šajā gadījumā, ja n ir viens vai divi, tas dosies lietu, un tad tas būs 1053 00:54:08,290 --> 00:54:10,640 izkrist pa, jo nav pārtraukuma. 1054 00:54:10,640 --> 00:54:11,610 Un tas galu galā šeit. 1055 00:54:11,610 --> 00:54:15,360 Tātad, ja mēs izvēlēties vienu, tā darīs printf un tad pārtraukums tā, ka neviens no 1056 00:54:15,360 --> 00:54:17,610 tas ir izpildīts. 1057 00:54:17,610 --> 00:54:21,870 Un, protams, ja tie stājas trīs vai kaut kas cits, tad tas tiks izlaist 1058 00:54:21,870 --> 00:54:25,320 tiem, nevis iet uz turieni, un tas veiks vietā 1059 00:54:25,320 --> 00:54:27,490 atbilstošo līniju. 1060 00:54:27,490 --> 00:54:29,390 Vai ir kādi jautājumi par šo? 1061 00:54:29,390 --> 00:54:29,780 Jā? 1062 00:54:29,780 --> 00:54:32,642 >> SPEAKER 4: Vai jums kļūda, ja jums bija pārtraukums pēc lietas vienā, bet tas 1063 00:54:32,642 --> 00:54:34,550 nebija kaut ko to darīt? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: Tātad jautājums ir jūs saņemsiet kļūda, ja jums ir pārtraukums pēc 1065 00:54:37,820 --> 00:54:39,730 Gadījumā, ja viens bet tur neko darīt? 1066 00:54:39,730 --> 00:54:41,520 Un atbilde ir nē. 1067 00:54:41,520 --> 00:54:43,172 Jums nav faktiski nokļūt kļūda. 1068 00:54:43,172 --> 00:54:44,590 Jā, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> Tā kā sava veida lielas izmaiņas šeit Es esmu gatavojas likt printf šeit. 1070 00:54:54,540 --> 00:54:55,790 Whoops. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 Tātad, kādi būtu to izdrukāt, ja Man viens ir kā priekšnodokli? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 Jā. 1075 00:55:07,770 --> 00:55:10,360 Tas pateiks, tas nav ņēmusi liels skaits divas reizes, vai ne? 1076 00:55:10,360 --> 00:55:13,500 Jo tas skāra šo pirmo gadījumu, tas nebūtu pārtraukumu, un tas samazināsies 1077 00:55:13,500 --> 00:55:15,730 līdz otrā gadījumā. 1078 00:55:15,730 --> 00:55:16,950 Kādi jautājumi par šo? 1079 00:55:16,950 --> 00:55:18,280 >> ROB: Vai jums ir cits jautājums? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, cool. 1081 00:55:20,840 --> 00:55:22,400 Labi. 1082 00:55:22,400 --> 00:55:25,780 Tātad tur ir kaut kas cits, ko mēs saucam trīskāršo operators, kas ir pamatā 1083 00:55:25,780 --> 00:55:29,010 aizstājēju sintakse darīt Ja un tad Else. 1084 00:55:29,010 --> 00:55:30,470 Un tas ļauj jums darīt to visu vienā rindā. 1085 00:55:30,470 --> 00:55:34,110 Tātad šajā konkrētajā programmā, Es esmu jautā lietotājam par n. 1086 00:55:34,110 --> 00:55:37,190 Un, ja n ir lielāks par 100, I teikt viņiem viņi paņēma lielu skaitu. 1087 00:55:37,190 --> 00:55:39,560 Vēl es viņiem saku viņi paņēma nelielo skaitu. 1088 00:55:39,560 --> 00:55:43,030 >> Tātad, mēs varam izmantot šo ļoti ilgu sintaksi, string, S, un pēc tam pārbaudīt, ja n ir 1089 00:55:43,030 --> 00:55:45,260 ir lielāks par 100, un piešķirt tas attiecīgi. 1090 00:55:45,260 --> 00:55:49,450 Bet mēs varam padarīt to daudz vairāk kodolīgi izmantojot šo trīskāršo operators sintaksi 1091 00:55:49,450 --> 00:55:52,090 kas ietver jautājumu zīme un resnās zarnas. 1092 00:55:52,090 --> 00:55:55,070 Tātad jautājuma zīme būtībā uzdodot jautājumu, vai ne? 1093 00:55:55,070 --> 00:55:56,625 >> ROB: Varbūt tuvinātu to. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: Jā. 1095 00:55:57,372 --> 00:56:00,210 Labs punkts. 1096 00:56:00,210 --> 00:56:02,550 Tātad šis ir trīskāršo operators. 1097 00:56:02,550 --> 00:56:06,100 Es vispirms uzdot jautājumu, n ir lielāks par 100? 1098 00:56:06,100 --> 00:56:09,770 Ja tā ir, tad es izpildīt pirmo daļa pirms kolu. 1099 00:56:09,770 --> 00:56:13,360 Ja tā nav, tad es izpildīt otrā daļa pēc resnās. 1100 00:56:13,360 --> 00:56:16,640 Tātad, ja n ir lielāks par 100, tad tas paceļ augstu un liek 1101 00:56:16,640 --> 00:56:18,360 kas stājas virkne s. 1102 00:56:18,360 --> 00:56:22,170 Ja n ir mazāks par 100, tas paceļ zemas un tad liek kas stājas stīgu s. 1103 00:56:22,170 --> 00:56:30,186 Tā, kas kondensējas šo lielo gabalu leju tikai šajā vienā rindā. 1104 00:56:30,186 --> 00:56:32,010 >> SPEAKER 5: Vai tas ir populārs? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: Jā, tas ir diezgan populārs lietas, kur būtībā vēlaties 1106 00:56:36,070 --> 00:56:38,700 do piešķiršana, balstoties uz daži stāvokļa veida. 1107 00:56:38,700 --> 00:56:43,110 Un šajā gadījumā, mēs cenšamies lai piešķirtu vērtību virknes s. 1108 00:56:43,110 --> 00:56:44,840 Tas nav tik - 1109 00:56:44,840 --> 00:56:47,670 Es domāju, man nav īsti dod tas citos gadījumos. 1110 00:56:47,670 --> 00:56:49,390 Bet tas ir īpaši noderīgi, šo uzdevumu. 1111 00:56:49,390 --> 00:56:54,490 >> ROB: Tas ir diezgan bieži modelis ja jums ir kāda mainīgais, kas 1112 00:56:54,490 --> 00:56:58,200 jūs teiksiet, ja kaut kas, kas šis mainīgais vienu vērtību; cits, kas 1113 00:56:58,200 --> 00:56:59,810 šis mainīgais citai vērtībai. 1114 00:56:59,810 --> 00:57:03,360 Un tas ir scenārijs ja izmanto trīskāršu. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: Un jūs ietaupīt daudz līniju, labi? 1116 00:57:05,220 --> 00:57:08,090 Un tas tikai padara jūsu kodu apstrīdami mazliet vieglāk lasāmu. 1117 00:57:08,090 --> 00:57:08,635 Jā, jautājums? 1118 00:57:08,635 --> 00:57:12,384 >> SPEAKER 6: Par trīskārši, vai jūs varētu iet, String s vienādības s, jautājuma zīme? 1119 00:57:12,384 --> 00:57:15,280 Un tad jūs varētu būt, teiksim, piecas dažādas iespējas. 1120 00:57:15,280 --> 00:57:18,310 Un atkarībā no tā, skaits n bija, jūs izvēlēties vienu no tiem? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: Tātad jautājums ir, vai ir veida sintakse, kur jūs varat darīt virkni 1122 00:57:22,210 --> 00:57:25,910 s ir vienāds ar N, un pēc tam ir vairāk nekā divi Iespējas pēc šī jautājuma zīmi? 1123 00:57:25,910 --> 00:57:29,740 Un vienkārša atbilde ir nē, tur nav tiešām labs veids, kā to darīt, ja vien 1124 00:57:29,740 --> 00:57:33,850 Jūs vēlaties, lai ligzdu vairākiem trīskārši operatori iekšpusē viens no otra. 1125 00:57:33,850 --> 00:57:38,050 >> Jūs varētu darīt, piemēram, n ir lielāks par 100, jautājuma zīme, un tad vēl 1126 00:57:38,050 --> 00:57:41,850 trīskāršo operators, n ir lielāks par 50, jautājuma zīme, un nest to, ka veidā. 1127 00:57:41,850 --> 00:57:45,240 Bet šajā scenārijā, jūsu kods ir kļūst veida lasāma un netīrs, 1128 00:57:45,240 --> 00:57:47,920 un tas varētu būt labāk, lai tikai iet uz Ja / Else paziņojumu šajā brīdī. 1129 00:57:47,920 --> 00:57:54,530 >> ROB: Un arī, kā sānu piezīmi, PHP nepareizi īsteno trīskāršu 1130 00:57:54,530 --> 00:57:58,053 operators tā, ka ligzdotu ternaries nav pat strādāt, kā to vajadzētu. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: Jā. 1132 00:57:58,840 --> 00:58:01,170 Tātad, tas kļūst mazliet mulsinoši, it īpaši, ja jūs iet 1133 00:58:01,170 --> 00:58:02,145 dažādās valodās. 1134 00:58:02,145 --> 00:58:04,810 >> ROB: Tas ir mulsinoši pietiekami, ka valodas ir nepareizi par to. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: Tik tiešām, tikai lai precizētu, tomēr visi zinām, ko tas 1137 00:58:11,510 --> 00:58:13,900 % S nav nekā šeit? 1138 00:58:13,900 --> 00:58:15,650 Kādi jautājumi par šo? 1139 00:58:15,650 --> 00:58:19,760 Es domāju tikai par kameru,% s būtībā ļauj mums nodot vietturi 1140 00:58:19,760 --> 00:58:20,790 par virkni. 1141 00:58:20,790 --> 00:58:23,920 Un tad beigās, mēs norādām, ka mainīgais mēs vēlamies nodot šo 1142 00:58:23,920 --> 00:58:25,500 vietas īpašnieks ir s. 1143 00:58:25,500 --> 00:58:27,730 Tāpēc, ka būtībā notiek s un tas liek to šeit. 1144 00:58:27,730 --> 00:58:32,130 Un tad tas būs izdrukāt, jūs noplūktiem augsta vai jūs noplūktiem zemu numuru. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> Tāpēc cilpas ļauj veikt lietas apļveida kustībām, vai ne? 1147 00:58:36,970 --> 00:58:40,300 Jūs, iespējams, ir saskārušās ar to Scratch formā laikiem cilpas 1148 00:58:40,300 --> 00:58:45,650 vai Atkārtot Kamēr vai Atkārtot īpaši vairākas reizes. 1149 00:58:45,650 --> 00:58:47,540 Tātad, kāpēc tas ir labs mums? 1150 00:58:47,540 --> 00:58:51,500 Nu, C, pieņemsim, ka mums ir šis dziesma īsteno Scratch ka 1151 00:58:51,500 --> 00:58:53,450 dzied, tas ir dziesma , kas nekad nebeidzas. 1152 00:58:53,450 --> 00:58:55,710 Tas tikai tālāk un tālāk, un uz visiem laikiem un uz visiem laikiem. 1153 00:58:55,710 --> 00:58:59,395 Nu, jūs nevarat īsti darīt programmu , kas ir neierobežotu skaitu printf 1154 00:58:59,395 --> 00:59:00,850 paziņojumi to, labi? 1155 00:59:00,850 --> 00:59:04,900 >> Tātad šajā scenārijā, viens veids ka jūs varētu veikt šo darbu, un 1156 00:59:04,900 --> 00:59:09,330 lai padarītu to drukāt uz visiem laikiem ir vietā izmantojiet kamēr cilpa. 1157 00:59:09,330 --> 00:59:13,640 Tāpēc Kaut cilpa izpildīt to, kas ir organismā divu skavas ka 1158 00:59:13,640 --> 00:59:17,250 pieder tai, pamatojoties uz to, stāvoklis ir. 1159 00:59:17,250 --> 00:59:21,170 Tātad šajā konkrētajā piemērā iepriekš, ja mēs gribam izdrukāt šo uz visiem laikiem, ko 1160 00:59:21,170 --> 00:59:23,590 mēs varētu darīt? 1161 00:59:23,590 --> 00:59:25,190 Nu, protams, vai ne? 1162 00:59:25,190 --> 00:59:32,290 >> Tātad šāda veida apvieno ideja daži Būla izteiksmes 1163 00:59:32,290 --> 00:59:33,610 kopā ar cilpu. 1164 00:59:33,610 --> 00:59:35,780 Un mēs uzzinājām Būla izteiksmes agrāk. 1165 00:59:35,780 --> 00:59:39,650 Tātad, ja nosacījums iekšpusē kas gan joprojām ir taisnība, tas cilpa 1166 00:59:39,650 --> 00:59:41,480 veiks vēl un vēl un vēl. 1167 00:59:41,480 --> 00:59:44,640 Un šajā gadījumā, ja tikai piegādāt ar taisnība, tas rada bezgalīgs 1168 00:59:44,640 --> 00:59:49,310 cilpa, kas drukā dziesmu un tālāk un kā mēs vēlamo agrāk bez 1169 00:59:49,310 --> 00:59:52,410 ar programmu, kas ir bezgalīgs skaits printf paziņojumiem, kas ir 1170 00:59:52,410 --> 00:59:55,220 nav iespējams. 1171 00:59:55,220 --> 00:59:57,810 >> Tātad vairāk pārliecinoši, lai gan, Jūs varat izmantot to ar 1172 00:59:57,810 --> 00:59:59,710 mainīga un stāvoklī. 1173 00:59:59,710 --> 01:00:04,420 Tātad pieņemsim, ka mēs vēlamies atkārtot frāze, pilnīgi loopy, 10 reizes. 1174 01:00:04,420 --> 01:00:08,380 Tātad, ko jūs varat darīt ar brīdi cilpu Jūs varat vispirms sāktu skaitītāju 1175 01:00:08,380 --> 01:00:10,860 mainīgais ārpus Kamēr cilpa līdz 10. 1176 01:00:10,860 --> 01:00:14,360 Un tad būtībā, katru reizi, kad iet caur kamēr cilpa, jūs izdrukāt 1177 01:00:14,360 --> 01:00:19,090 pārskats un tad jūs samazināt counter mainīgais līdz beigās, 1178 01:00:19,090 --> 01:00:23,020 kādā brīdī, kad mēs atņemt I pietiekami reizes, 1 no I pietiekami daudz reizes - 1179 01:00:23,020 --> 01:00:27,290 un tikai, lai precizētu, I mīnus mīnus nozīmē, ka man ir vienāds ar I mīnus 1. 1180 01:00:27,290 --> 01:00:31,280 >> Tas būtībā dot I līdz punktu, kur, kad es hit nulle, tas 1181 01:00:31,280 --> 01:00:35,260 nosacījums vairs true un tāpēc tas iziet no cilpas. 1182 01:00:35,260 --> 01:00:37,045 Tik pilnīgi loopy tikai izdrukā 10 reizes. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 Visus jautājumus par brīdi cilpu? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> Tāpēc ir veids, kā mēs varam darīt to, ko mēs tikko darīja daudz lakoniski ar 1188 01:00:50,550 --> 01:00:51,715 tas, ko mēs saucam par cilpu. 1189 01:00:51,715 --> 01:00:55,750 Tāpēc cilpa sastāv no inicializācijas, stāvokli, un 1190 01:00:55,750 --> 01:00:58,950 update, tāpat kā mums bija agrāk Šajā kamēr cilpa. 1191 01:00:58,950 --> 01:00:59,890 Tātad, pieņemsim to apskatīt. 1192 01:00:59,890 --> 01:01:02,900 Šajā kamēr cilpa, mums bija inicializācijas, tad mums bija 1193 01:01:02,900 --> 01:01:04,260 nosacījumu, ka mēs pārbaudījām. 1194 01:01:04,260 --> 01:01:06,450 Un tad mums bija atjauninājumu soli augšpusē. 1195 01:01:06,450 --> 01:01:10,060 >> Ar cilpa, tas galvenokārt notiek šīs trīs lietas un kondensējas to 1196 01:01:10,060 --> 01:01:11,370 lejup vienā rindā. 1197 01:01:11,370 --> 01:01:15,130 Tātad pirmā lieta, ka tas ir Cilpa ir inicializācijas. 1198 01:01:15,130 --> 01:01:19,090 Un tad jūs semikolu, un pēc tam jūs stāvokli, kas ir I 1199 01:01:19,090 --> 01:01:22,200 lielāks par nulli iet tur, un tad update solis. 1200 01:01:22,200 --> 01:01:26,470 Tāpēc tas tiek veikta ļoti end of cilpas struktūras. 1201 01:01:26,470 --> 01:01:28,790 Tātad šīs divas programmas ir būtībā līdzvērtīgs. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> Kādi jautājumi? 1204 01:01:33,870 --> 01:01:37,000 Tātad, kas ir viena atšķirība starp šiem diviem? 1205 01:01:37,000 --> 01:01:38,000 Vai kāds norādīt to ārā? 1206 01:01:38,000 --> 01:01:40,480 Tas varētu būt mazliet smalks. 1207 01:01:40,480 --> 01:01:41,930 Tas ir tikai ļoti neliela atšķirība. 1208 01:01:41,930 --> 01:01:42,330 Jā? 1209 01:01:42,330 --> 01:01:49,008 >> SPEAKER 5: Tu nevarētu izmantot Es mainīgais ārpus cilpa 1210 01:01:49,008 --> 01:01:49,962 [Dzirdams]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: Tieši tā. 1212 01:01:50,900 --> 01:01:53,550 Tāpēc tas ir kaut kas, mēs sāksim vēlāk sauc mainīgo jomu. 1213 01:01:53,550 --> 01:01:56,610 Bet būtībā tas int i dzīvību ārpus šīs kamēr cilpa. 1214 01:01:56,610 --> 01:01:59,800 Tātad, kad šis Kamēr cilpa tiek darīts izpildes, es varētu izmantot I vēlāk 1215 01:01:59,800 --> 01:02:00,880 gada programmā. 1216 01:02:00,880 --> 01:02:05,430 >> Tā kā ar šo uz cilpas, tas int es ir scoped iekšpusē šis cilpas. 1217 01:02:05,430 --> 01:02:10,240 Un tāpēc, ka tas ir iekšā šo daļu no cilpa, kas sākas 1218 01:02:10,240 --> 01:02:13,200 pie iekavās un beidzas ar cirtaini lencēm tur. 1219 01:02:13,200 --> 01:02:16,120 Jebkas, kas ir deklarēta iekšpusē Šeit nevar izmantot ārpus. 1220 01:02:16,120 --> 01:02:20,420 Tātad, ja es mēģinātu izmantot I ārā, tas būs man pateikt, nedeklarētu simbolu. 1221 01:02:20,420 --> 01:02:22,420 Un būtībā, es nebūtu varēs izmantot. 1222 01:02:22,420 --> 01:02:28,460 >> ROB: Un labi, pirms 10 gadiem, burtiski visas lietas, cirtaini bikšturi ir 1223 01:02:28,460 --> 01:02:31,140 ko tu izmanto, lai noteiktu apjoms ir mainīgs. 1224 01:02:31,140 --> 01:02:37,240 Tātad tur, int es sasniedz 10 ir deklarēta iekšpusē šo 1225 01:02:37,240 --> 01:02:38,520 kopumu cirtaini lencēm. 1226 01:02:38,520 --> 01:02:42,530 Un tad tik ilgi, cik jūs mēģināt izmantot I pirms šī cirtaini lencēm, tas ir labi. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 Jūs varētu redzēt, ja jūs tipa izdarīt, jums sk domuzīme, domuzīme, STS, vienāds, C99. 1229 01:02:51,460 --> 01:02:57,100 >> Tāpēc, ka ir jaunāka versija C, kas GCC ir īstenojusi, ka arī dod 1230 01:02:57,100 --> 01:02:58,740 šī saīsne. 1231 01:02:58,740 --> 01:03:03,505 Tātad tas, ko izmanto, lai nav pieļaujama C un Jūs varat redzēt, kāpēc, jo tas int 1232 01:03:03,505 --> 01:03:07,600 Man ir ārpus šī cirtaini lencēm, bet tas joprojām uzskatāmi par 1233 01:03:07,600 --> 01:03:09,750 apjoms šiem cirtaini lencēm. 1234 01:03:09,750 --> 01:03:14,120 Bet tas ir ļoti ērts lieta, un tāpēc tas ir laba paplašinājums. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: Kādi jautājumi? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 Tātad, kas ir vairāk noderīgs ir tas, ka dažkārt jūs vēlaties veida dinamiku 1239 01:03:22,820 --> 01:03:23,410 Jūsu cilpa, vai ne? 1240 01:03:23,410 --> 01:03:26,350 Jūs nevēlaties, lai tikai vienmēr drukāt pilnīgi loopy visu laiku, jums 1241 01:03:26,350 --> 01:03:28,650 vēlaties saskaitīt uz leju no 10 vai kaut ko. 1242 01:03:28,650 --> 01:03:32,010 Un lai jūs varētu izmantot counter mainīgo šīs cilpas iekšpusē, kā arī. 1243 01:03:32,010 --> 01:03:35,530 Un šajā gadījumā, šī programma tikai skaita uz leju no 10 visu ceļu uz leju. 1244 01:03:35,530 --> 01:03:39,260 Un ko tas nav drukāt? 1245 01:03:39,260 --> 01:03:42,790 Nedrukā nulle, taisnība, jo, kad - 1246 01:03:42,790 --> 01:03:45,460 Jā, tas arī nedrukā 11. 1247 01:03:45,460 --> 01:03:49,200 >> Tātad tas nav drukāt nulle, jo, kad I ir nulle, atcerieties, tā novērtē 1248 01:03:49,200 --> 01:03:52,170 nosacījumu, pirms tā iet uz izpildīt cilpa ķermeni. 1249 01:03:52,170 --> 01:03:56,820 Un, kad es ir nulle, tas ir nepatiess, tāpēc tas nav izdrukāt skaitīšanas leju 1250 01:03:56,820 --> 01:04:00,200 nulle, tas vienkārši izdrukā skaitīšanu lejup 10 visu ceļu uz leju, lai 1. 1251 01:04:00,200 --> 01:04:03,420 Ja mēs patiešām vēlējās drukāt nulli, tad mēs varētu likt vienādības zīmi 1252 01:04:03,420 --> 01:04:04,750 pēc tam ir lielāks par zīmi. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> Tik viens veids, kā to izdarīt ievades apstiprināšanu, kas ir tad, kad jūs lūgt lietotājam darīt 1256 01:04:16,410 --> 01:04:18,620 kaut ko, jūs vēlaties, lai pārliecinātos, ka viņi sekojiet norādījumiem, ir izmantot 1257 01:04:18,620 --> 01:04:19,400 Kaut cilpa, vai ne? 1258 01:04:19,400 --> 01:04:22,990 Tātad šajā konkrētajā gadījumā, es esmu lūdzot par pozitīvu skaitli, un tad es esmu 1259 01:04:22,990 --> 01:04:23,810 gaida ievadi. 1260 01:04:23,810 --> 01:04:28,210 >> Un tad es pārbauda gan ievade mazāka par nulli, saglabāt lūdzot tos. 1261 01:04:28,210 --> 01:04:32,100 Tik ilgi, kamēr tie dod man numuru tas nav pozitīvi, saglabāt jautā, 1262 01:04:32,100 --> 01:04:33,600 glabāt jautā, glabāt jautā. 1263 01:04:33,600 --> 01:04:35,860 Bet to, kas ir sava veida dīvaini par šo? 1264 01:04:35,860 --> 01:04:38,570 Vai kas nešķiet optimāls par šī struktūra tieši šeit? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 Kāds? 1267 01:04:44,758 --> 01:04:45,234 Jā? 1268 01:04:45,234 --> 01:04:47,614 >> SPEAKER 6: Tu atkārtojot instrukcija divreiz. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH: Tieši tā. 1270 01:04:48,100 --> 01:04:50,090 Tāpēc mums ir divas printf paziņojumus šeit, vai ne? 1271 01:04:50,090 --> 01:04:53,440 Tāpēc ir veids, kā mēs varētu saņemt šo tikai uz leju, lai vienu, kas padarītu mūsu 1272 01:04:53,440 --> 01:04:57,170 kodu vieglāk lasīt un mazliet vairāk tīrs. 1273 01:04:57,170 --> 01:05:00,180 Un tad mēs nebūtu ir Get divas reizes, kā arī. 1274 01:05:00,180 --> 01:05:03,740 Un viens veids, kā jūs varat darīt, tas ir izmantojot Do-kamēr cilpa. 1275 01:05:03,740 --> 01:05:07,670 >> Un Do-gan cilpa ir pamatā atšķirīga forma kamēr cilpa, kurā 1276 01:05:07,670 --> 01:05:11,460 kāds atrodas cirtaini lencēm izpaužas izpildīts vismaz vienu reizi. 1277 01:05:11,460 --> 01:05:14,840 Tātad šeit, es apliecinu, int ieeja ārpus pirmās. 1278 01:05:14,840 --> 01:05:18,100 Un tad es vienkārši saku, to izdarītu norādījums, kamēr ieejas 1279 01:05:18,100 --> 01:05:19,140 ir mazāks par nulli. 1280 01:05:19,140 --> 01:05:20,530 Tāpēc tas hits jādara vispirms. 1281 01:05:20,530 --> 01:05:24,190 Tā būs vienmēr izpildīt šīs vismaz reizi, tāpēc tas vienmēr pieprasīt no lietotāja 1282 01:05:24,190 --> 01:05:25,960 ievadei vismaz vienu reizi. 1283 01:05:25,960 --> 01:05:29,390 Un tad tā izvērtē šo ievadi, un tas notiek pa apli. 1284 01:05:29,390 --> 01:05:30,135 Jā, jautājums? 1285 01:05:30,135 --> 01:05:32,602 >> SPEAKER 6: Vai ir veids, kā to izdarīt [Dzirdams] veidi, piemēram, ja jūs sakāt, 1286 01:05:32,602 --> 01:05:34,268 GetString, un kāds [dzirdams] 1287 01:05:34,268 --> 01:05:35,220 Vai ir veids, kā [dzirdams] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH: Tātad jautājums ir, vai ir veids, kā to izdarīt ievades apstiprināšanu, ja lietotājs 1289 01:05:40,060 --> 01:05:41,850 neliek tiesībām Mainīgā tips? 1290 01:05:41,850 --> 01:05:44,460 Tātad, ja mēs lūdzam int un tie dod mums virkni vietā. 1291 01:05:44,460 --> 01:05:49,110 Un funkcijas, ko mēs īsteno jums, GetInt, GetString visās 1292 01:05:49,110 --> 01:05:52,680 tās funkcijas, tie faktiski jau ir darīt, ka veida pamata tipa ieejas 1293 01:05:52,680 --> 01:05:54,120 apstiprināšana ar kapuci. 1294 01:05:54,120 --> 01:05:57,390 Tātad, ja jūs izmantojat funkcijas, kas mums deva jums, jums nav tiešām ir. 1295 01:05:57,390 --> 01:06:01,380 >> Bet, ja jūs vēlaties, lai izskatās vairāk par to, kā jūs faktiski var darīt, jūs varat apskatīt 1296 01:06:01,380 --> 01:06:03,360 zem motora pārsega pie faila I/O-- 1297 01:06:03,360 --> 01:06:07,990 nav failu, standarta I / O funkcijas piemēram, lasot no standarta ievades un 1298 01:06:07,990 --> 01:06:08,580 standarta produkcija. 1299 01:06:08,580 --> 01:06:10,630 Un jūs varat saņemt labāku sajūtu par to, kā jūs varētu darīt. 1300 01:06:10,630 --> 01:06:13,670 >> ROB: Viens jautājums, lai gan, ir īpaši ar piemēru jums 1301 01:06:13,670 --> 01:06:17,070 teica, jūs sagaida String un es ievadīt int. 1302 01:06:17,070 --> 01:06:20,110 Kā jūs pateikt atšķirību starp apzināti vēlas 1303 01:06:20,110 --> 01:06:23,130 string 123 pret, kuri vēlas int 123? 1304 01:06:23,130 --> 01:06:29,230 Tātad string, tas ir diezgan daudz, tur nav apstiprināšanu, tas ir tikai kāda tā 1305 01:06:29,230 --> 01:06:31,600 ievadīta, jums tiks interpretēt kā virkni. 1306 01:06:31,600 --> 01:06:35,790 >> Int ir vieglāk, jo nav svarīgi, ieeja esat lietojis no lietotāja, jums ir 1307 01:06:35,790 --> 01:06:37,470 vienmēr ņemot virkni. 1308 01:06:37,470 --> 01:06:40,650 Un tā, ka virkne jūs varat, tad pārbaudiet, ir visi šie 1309 01:06:40,650 --> 01:06:44,218 faktiski cipariem? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 Visus jautājumus par do-kamēr cilpa? 1312 01:06:46,420 --> 01:06:49,170 >> ROB: Ak, un tas ir arī - 1313 01:06:49,170 --> 01:06:55,130 dodas atpakaļ uz jomu, nedaudz kopīgs kļūda mēģina izmantot kādu vietējo 1314 01:06:55,130 --> 01:06:59,540 mainīgais no šajā Do-gan cilpa iekšā šajā stāvoklī. 1315 01:06:59,540 --> 01:07:02,850 Un faktiski, ja mēs vienkārši vaļā šo un teica, int ievade vienāds 1316 01:07:02,850 --> 01:07:06,990 GetInt, tad kompilators bļaut mums, jo ieejas neeksistē 1317 01:07:06,990 --> 01:07:08,900 ārpus jomas šie cirtaini bikšturi. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: Un tas ir iemesls, kāpēc mēs vajag šo lineup šeit. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 Tātad jūs varat izkļūt no cilpa agri, ja jūs vēlaties. 1322 01:07:17,530 --> 01:07:21,240 Tāpēc tas ir atšķirīgs veids Īstenojot to, ko mēs tikko īstenots. 1323 01:07:21,240 --> 01:07:24,340 Un tā vietā, lai izmantotu stāvokli ietvaros iekavās, mēs izmantojam 1324 01:07:24,340 --> 01:07:26,920 Ja paziņojums iekšpusē ķermeņa no Do-kamēr cilpa. 1325 01:07:26,920 --> 01:07:30,000 >> Un būtībā, ja ieguldījums ir beidzot lielāks par nulli, mēs 1326 01:07:30,000 --> 01:07:31,000 izkļūt no cilpas. 1327 01:07:31,000 --> 01:07:33,420 Un tā mēs dosimies visi ceļu uz leju šeit. 1328 01:07:33,420 --> 01:07:37,920 Un jūs varat redzēt, ka tas iespējams, priekšroka šajā 1329 01:07:37,920 --> 01:07:39,870 scenārijs, jo tas ir nedaudz mazliet tīrāka un nedaudz 1330 01:07:39,870 --> 01:07:41,380 mazliet vieglāk lasīt. 1331 01:07:41,380 --> 01:07:45,210 Tā kā šis, jūs veida ir papildu rindas tajā. 1332 01:07:45,210 --> 01:07:47,890 Tas ir tikai nedaudz neglītāks, Es domāju, tādā ziņā. 1333 01:07:47,890 --> 01:07:48,530 Jā, jautājums? 1334 01:07:48,530 --> 01:07:52,178 >> SPEAKER 4: pauze tikai iegūt jūs no viena komplekta bikšturi? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH: Tieši tā. 1336 01:07:53,080 --> 01:07:58,100 Tātad jautājums ir, būs pārtraukums tikai saņemt jūs no viena cilpa? 1337 01:07:58,100 --> 01:07:59,280 Un atbilde ir jā. 1338 01:07:59,280 --> 01:08:04,290 Tātad, ja jums ir ligzdotu uz cilpas, lai Piemēram, ja man ir par int i ir vienāds ar 0 1339 01:08:04,290 --> 01:08:09,040 līdz 10 un pēc tam par int J ir vienāds ar 0 līdz 10, vai es izkļūt no iekšējā 1340 01:08:09,040 --> 01:08:12,310 cilpa, es vēl joprojām iet pie ārējā kontūra. 1341 01:08:12,310 --> 01:08:15,760 Tāpēc tas būs glabāt veic operācijas ārpuses. 1342 01:08:15,760 --> 01:08:17,640 Kādi jautājumi par šo? 1343 01:08:17,640 --> 01:08:18,000 Jā? 1344 01:08:18,000 --> 01:08:21,760 >> SPEAKER 5: Bet pārtraukums tikai funkcijas par cirtaini bikšturi, nevis citi 1345 01:08:21,760 --> 01:08:22,230 paziņojumi? 1346 01:08:22,230 --> 01:08:22,700 [Dzirdams] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH: Tātad jautājums ir būs pārtraukums tikai funkcija cilpas pretstatā 1348 01:08:27,620 --> 01:08:29,014 citi apgalvojumi, piemēram, ja? 1349 01:08:29,014 --> 01:08:32,950 Un jā, tas ir gadījums, jo jūs izkļūt no cilpas, pa labi, 1350 01:08:32,950 --> 01:08:33,630 savā ziņā. 1351 01:08:33,630 --> 01:08:37,215 >> ROB: Vairumā gadījumu, tas ir tas ir sava veida, ja kaut kas, 1352 01:08:37,215 --> 01:08:37,660 tad pārtraukums. 1353 01:08:37,660 --> 01:08:41,580 Tātad jums nav, lai izjauktu piemērot Ja tas ir ietīšana ap to. 1354 01:08:41,580 --> 01:08:45,250 Un arī tas nav daudz cilpas, bet atcerieties, ka slēdži ir arī 1355 01:08:45,250 --> 01:08:46,340 izcēlies pēc kura pārtraukumiem. 1356 01:08:46,340 --> 01:08:48,390 Mēs redzējām pārtraukumiem tiek izmantotas ar slēdžiem pirms tam. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: Un jūs varat arī izmantot tos jo, kamēr cilpas un cilpas. 1358 01:08:52,189 --> 01:08:54,560 Kādi jautājumi? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 Līdz ar to nākamajā up ir funkcijas. 1361 01:08:57,779 --> 01:09:01,500 Tātad, jūs, iespējams, ir izmantots viens no šiem BYOB bloki savu Scratch projektu. 1362 01:09:01,500 --> 01:09:04,569 Un tas būtībā ļauj definēt kopumu 1363 01:09:04,569 --> 01:09:05,680 instrukcijas, kas jāievēro. 1364 01:09:05,680 --> 01:09:09,569 >> Un tas, ko es domāju ar šo ir pieņemsim domāt atpakaļ uz matemātiku, labi, algebra. 1365 01:09:09,569 --> 01:09:13,370 Jums ir, ko mēs saucam funkcija x, daži mainīgs, un teiksim tā 1366 01:09:13,370 --> 01:09:16,080 funkcija ir f no x ir vienāds ar x plus 5. 1367 01:09:16,080 --> 01:09:20,410 Tātad jūs varat iedomāties f no x, jo tas black kaste, kas notiek 15 valstīs, un pēc tam 1368 01:09:20,410 --> 01:09:22,590 ražo 20. 1369 01:09:22,590 --> 01:09:26,630 >> Tik vispārīgi, funkcija ir kaut kas notiek dažas ieejas un 1370 01:09:26,630 --> 01:09:27,880 tad ražo dažus rezultātus. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 Un kāpēc ir funkcijas, labi? 1373 01:09:32,960 --> 01:09:35,189 Viņi labi vairāku iemeslu dēļ. 1374 01:09:35,189 --> 01:09:40,470 Tātad, kāds, kurš vēlas veikt stab par to, ko organizācija nozīmē? 1375 01:09:40,470 --> 01:09:42,630 Runājot par to, kāpēc funkcijas ir noderīga? 1376 01:09:42,630 --> 01:09:43,090 Jā? 1377 01:09:43,090 --> 01:09:44,735 >> SPEAKER 4: Tas padara jūsu kodu vieglāk lasāmu. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH: Tieši tā. 1379 01:09:45,399 --> 01:09:47,670 Tātad viena no lietām ir tas padara savu kodu vieglāk lasāmu, vai ne? 1380 01:09:47,670 --> 01:09:53,710 Tā vietā, piemēram, int x ir vienāds ar x reizes x reizes x, es varu būt kubs x, 1381 01:09:53,710 --> 01:09:57,190 kas ir vairāk lasāms un vairāk saprotami lasītājs. 1382 01:09:57,190 --> 01:10:01,150 >> Organizācijas ir arī attiecībā sadalot savu kodu vadāmību 1383 01:10:01,150 --> 01:10:05,610 porcijas, tāpēc, ka tā vietā, lai censtos īstenot šo visu vienā garā posmā 1384 01:10:05,610 --> 01:10:09,070 galvenais, jūs varat kārtot sadalīt to uz augšu uz, piemēram, Labi, pieņemsim uzrakstīt funkciju 1385 01:10:09,070 --> 01:10:11,910 līdz kubs kaut ko, pieņemsim rakstiet funkciju, lai kvadrātveida kaut ko. 1386 01:10:11,910 --> 01:10:15,950 Tādā veidā jūs varat sadalīt to uz augšu tiny, maz detaļas, kas var risināt 1387 01:10:15,950 --> 01:10:18,944 nevis mēģina risināt liela problēma visu uzreiz. 1388 01:10:18,944 --> 01:10:21,806 >> ROB: Vai pat niecīga, maz detaļas, jūs un partneris var risināt. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: Jā. 1390 01:10:22,283 --> 01:10:23,855 >> ROB: Tā vietā, lai abi Jūs mēģināt implants vienu 1391 01:10:23,855 --> 01:10:27,170 darbojas tajā pašā laikā. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: vienkāršošana. 1393 01:10:28,800 --> 01:10:30,050 Kāds vēlas veikt uzminēt? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 Jā? 1396 01:10:33,410 --> 01:10:34,675 >> SPEAKER 5: Vairāk atkārtošanās. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH: Tieši tā. 1398 01:10:35,260 --> 01:10:39,210 Tā viena lieta, ka jūs varat darīt ar vienkāršošana ir, ka tas ir sava veida uz 1399 01:10:39,210 --> 01:10:42,520 tās pašas līnijas, kā otrreizēju izmantojamību, ir, ka kad es rakstīt kuba funkcija, es varu 1400 01:10:42,520 --> 01:10:45,410 tikai izmantot, ka atkal un atkal un atkal atkal manā programmā, nevis rakstīt 1401 01:10:45,410 --> 01:10:49,610 x reizes x reizes x vairāk un atkal un atkal. 1402 01:10:49,610 --> 01:10:52,980 Un vienkāršošana šeit arī vienkārši nozīmē, ka tas padara jūsu kods veida 1403 01:10:52,980 --> 01:10:55,900 vieglāk atkļūdošanas kad jūs sadalīt Tas augšup funkcijas. 1404 01:10:55,900 --> 01:10:58,250 Jo tad var lokalizēt, kur jūsu problēmas veida esat. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 Kādi jautājumi? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> Tātad vēl viena ideja ir abstrakcija, vai ne? 1409 01:11:06,540 --> 01:11:07,390 Šī melnā kaste. 1410 01:11:07,390 --> 01:11:11,360 Tāpat kā jūs zināt, kas GetInt dara , lai saņemtu informāciju no lietotāja? 1411 01:11:11,360 --> 01:11:12,510 Mēs neesam īsti teicis jums, vai ne? 1412 01:11:12,510 --> 01:11:15,670 Visi mēs esam teicis jums ir GetInt nav tieši to, ko saka, ka tā dara. 1413 01:11:15,670 --> 01:11:18,440 Tātad, pat tad, ja mums nav pateikt, cik tā darbojas, jūs vēl zināt. 1414 01:11:18,440 --> 01:11:21,670 >> Tātad šajā gadījumā, tas ir četrkāršs funkciju, kas nav 1415 01:11:21,670 --> 01:11:24,520 dažādas lietas, ieejas ražot produkciju. 1416 01:11:24,520 --> 01:11:28,050 Un jūs varat četrkāršs numuru reizinot to ar četri. 1417 01:11:28,050 --> 01:11:30,790 Vai jūs varat to, ko mēs saucam bit novirzīt to ar divi. 1418 01:11:30,790 --> 01:11:32,960 Un mēs uz to mazliet vēlāk. 1419 01:11:32,960 --> 01:11:36,570 Un nav nepieciešams zināt, kā tas funkcija faktiski darbojas tik ilgi, cik tas 1420 01:11:36,570 --> 01:11:37,640 darbojas kā norādīts. 1421 01:11:37,640 --> 01:11:40,740 >> Tātad, ar kapuci, es varētu būt piemēram, atgriešanās ievades reizes 1422 01:11:40,740 --> 01:11:41,690 astoņi dalīts ar divi. 1423 01:11:41,690 --> 01:11:42,510 Un jūs nezināt, vai ne? 1424 01:11:42,510 --> 01:11:44,970 Viss, kas jums jāzina, ir tas, ko tā saka. 1425 01:11:44,970 --> 01:11:48,070 Tā ka ir noderīga lieta par abstrakciju. 1426 01:11:48,070 --> 01:11:52,910 >> Un vēl viena lieta ir sava veida šī ideja gada lokalizāciju savu kodu uz vienu 1427 01:11:52,910 --> 01:11:54,280 īpaši sadaļā. 1428 01:11:54,280 --> 01:11:57,450 Tātad, ja jums ir problēma, jums nav ir jāiet pa visu kodu mēģinot 1429 01:11:57,450 --> 01:11:58,730 noteikt, kur problēma bija. 1430 01:11:58,730 --> 01:12:00,990 Tātad, šajā gadījumā, I īstenota kubs nepareizi. 1431 01:12:00,990 --> 01:12:02,820 Es domāju, kubs bija reizinot ar trīs. 1432 01:12:02,820 --> 01:12:05,760 >> Tātad, šajā gadījumā, tas ir viens programma tas vienkārši ir reizinot ar trīs 1433 01:12:05,760 --> 01:12:06,750 visur. 1434 01:12:06,750 --> 01:12:10,910 Un tur ir vēl viena programma, kas ir ņemt kubs ārā funkciju. 1435 01:12:10,910 --> 01:12:14,040 Un tāpēc tagad, ja es gribu, lai noteiktu mana kļūda šeit, man ir noteikt katru rindiņu 1436 01:12:14,040 --> 01:12:15,620 Koda šajā programmā. 1437 01:12:15,620 --> 01:12:19,190 Bet, no otras puses, ja es izmantot funkcija, es tikai nepieciešams, lai mainītu 1438 01:12:19,190 --> 01:12:20,650 , kas bija nepareizi vienā vietā. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> Tāpēc datorzinātnēs, mēs zvaniet ieejas un izejas. 1441 01:12:28,730 --> 01:12:31,640 Ieejas sauc parametri vai argumenti, un rezultāti tiek saukti 1442 01:12:31,640 --> 01:12:32,950 atgriešanās vērtību. 1443 01:12:32,950 --> 01:12:39,000 Un mēs redzēsim, kā tas mums palīdz kārtot gada definēt funkciju sekundē. 1444 01:12:39,000 --> 01:12:41,430 Tāpēc tas ir funkcija definīcija par cubing. 1445 01:12:41,430 --> 01:12:45,110 Tāpēc tas aizņem ievadi, un pēc tam tā atgriež ka reižu skaitu 1446 01:12:45,110 --> 01:12:47,020 pats trīs reizes. 1447 01:12:47,020 --> 01:12:48,020 Tā ļauj lauzt šo leju. 1448 01:12:48,020 --> 01:12:53,090 >> Tāpēc mums ir funkcija header, kas būtībā sastāv no trim lietām. 1449 01:12:53,090 --> 01:12:56,050 Tāpēc mums ir parametri, kas ir, kā es teicu iepriekš, 1450 01:12:56,050 --> 01:12:57,680 ieejas uz šo funkciju. 1451 01:12:57,680 --> 01:12:59,300 Un tad mēs dodam funkcija nosaukumu. 1452 01:12:59,300 --> 01:13:00,740 Šajā gadījumā to sauc par kubu. 1453 01:13:00,740 --> 01:13:03,860 Un tad mēs, norādiet, kāda tipam no atgriešanās vērtība ir. 1454 01:13:03,860 --> 01:13:06,760 >> Tātad šajā gadījumā, mans kubs funkcija uzņem veselam skaitlim, un tas arī 1455 01:13:06,760 --> 01:13:07,890 atgriež skaitlim. 1456 01:13:07,890 --> 01:13:11,510 Tātad, ja es iet divi, divi ir vesels skaitlis, tas atgriežas astoņi man, kas 1457 01:13:11,510 --> 01:13:13,250 ir vesels skaitlis. 1458 01:13:13,250 --> 01:13:15,420 Tāpēc atgriešanās veida nosaukums parametrus. 1459 01:13:15,420 --> 01:13:16,670 Jautājumi par šo? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> Un tad atgriešanās vērtība ir faktiski norādīts beigās, sakot atgriešanos 1462 01:13:24,230 --> 01:13:27,540 un pēc tam atgriežas neatkarīgi satur atgriezto vērtību. 1463 01:13:27,540 --> 01:13:30,940 Tātad šajā gadījumā, ja mēs to visu kopā funkcija uzņem 1464 01:13:30,940 --> 01:13:35,100 parametriem, to sauc kaut ko, un tā atgriež kaut ko, kas ir veids 1465 01:13:35,100 --> 01:13:36,350 ka mēs sakām, tas būs. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 Kādi jautājumi? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> Tātad, kā mēs izmantojam funkciju? 1470 01:13:45,080 --> 01:13:49,230 Nu, mēs rakstām funkciju, un pēc tam mēs izmantojam to mūsu programmā, vai ne? 1471 01:13:49,230 --> 01:13:51,565 Tāpēc es sauc to kubs, un tad es varu izmantot kubu. 1472 01:13:51,565 --> 01:13:54,200 >> Bet to, kas ir svarīgi atzīmēt, ir šo rīkojumu jautājumiem. 1473 01:13:54,200 --> 01:13:58,100 Ja man ir kubs zemāk galvenais, tas ir gatavojas uzskriet kubu. 1474 01:13:58,100 --> 01:14:00,360 Un šajā brīdī, tur nekas aicināja kubs programmā, un tā ir 1475 01:14:00,360 --> 01:14:02,550 tikai būs, piemēram, man ir ne jausmas, ko kubs ir. 1476 01:14:02,550 --> 01:14:05,060 >> Tāpēc tas jums pateiks, netieši deklarācija funkciju. 1477 01:14:05,060 --> 01:14:06,690 Tas ir kļūda, kas parādās. 1478 01:14:06,690 --> 01:14:10,230 Un tādēļ šajā gadījumā kubs ir zemāka Galvenais, lai tas nebūs 1479 01:14:10,230 --> 01:14:12,006 zināt par to. 1480 01:14:12,006 --> 01:14:14,724 >> SPEAKER 5: Tātad galvenais ir parasti Pēdējā funkcija definēta? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: Tātad jautājums ir, ir galvenais parasti pēdējā 1482 01:14:17,290 --> 01:14:18,170 lieta, ka jūs definētu? 1483 01:14:18,170 --> 01:14:19,730 Un nē. 1484 01:14:19,730 --> 01:14:22,280 Tas ir tāpēc, ka mēs parasti patīk galvenā būt augšpusē, labi? 1485 01:14:22,280 --> 01:14:24,640 Jo tas ir pirmā lieta, jūs gribu programmētājs atvēršanas 1486 01:14:24,640 --> 01:14:25,640 programmu, lai redzētu. 1487 01:14:25,640 --> 01:14:29,950 Un tā kā mēs atrisināt šo jautājumu mēs vēlas, galvenais, lai augšpusē, bet 1488 01:14:29,950 --> 01:14:33,750 funkcijas, ko mēs vēlamies, mēs vēlamies viņus ir zem galvenā vēl varēs izmantot 1489 01:14:33,750 --> 01:14:34,930 tās iekšpusē galvenais? 1490 01:14:34,930 --> 01:14:36,870 >> Nu, mēs izmantojam to, ko mēs saucam funkcija prototips. 1491 01:14:36,870 --> 01:14:40,830 Tātad, ko funkcija prototips būtības ir tas pirmo reizi notiek kāda 1492 01:14:40,830 --> 01:14:45,060 paraksts vai funkcija header par to, ko mēs vēlamies īstenot uz leju 1493 01:14:45,060 --> 01:14:47,420 šeit, un mēs nodot to top no programmas. 1494 01:14:47,420 --> 01:14:51,400 >> Tātad šajā gadījumā, mēs sakām, ka, labi, vēlāk mūsu programmu, mēs ejam 1495 01:14:51,400 --> 01:14:55,010 veikt solījumu, lai īstenotu šo funkcija, ko sauc par int kubs, kas notiek 1496 01:14:55,010 --> 01:14:56,260 skaitlis ieejas. 1497 01:14:56,260 --> 01:15:00,870 Tāpēc tagad, jo tas ir virs galvenais, Galvenais, tas būs teikt, oh, labi, 1498 01:15:00,870 --> 01:15:03,910 vēlāk programmā, kas būs tur, lai es varētu atsaukties uz to, tāpēc es ņemšu 1499 01:15:03,910 --> 01:15:05,230 tikai ļauj to iet cauri tagad. 1500 01:15:05,230 --> 01:15:07,660 >> Un pēc tam apakšā, mēs īstenotu kubu. 1501 01:15:07,660 --> 01:15:11,180 Un tad galvenais būs tikai teikt, labi, tas būs kārtot saikne 1502 01:15:11,180 --> 01:15:12,250 šie divi simboli kopā. 1503 01:15:12,250 --> 01:15:14,320 Un mēs uz to, ka nozīmē vēlāk. 1504 01:15:14,320 --> 01:15:17,090 Un tā tas būs zināt, ka tas ir kubs funkcija, kas būtu jāizmanto. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> ROB: par vēlmi [dzirdams] Galvenais apakšā vai 1507 01:15:23,383 --> 01:15:24,880 top, es esmu redzējis abus. 1508 01:15:24,880 --> 01:15:28,630 Ir lietas, kas vienkārši patīk likt galveno apakšā. 1509 01:15:28,630 --> 01:15:32,520 Bet tad, kad projekts kļūst īpaši liels, parasti galvenais ir 1510 01:15:32,520 --> 01:15:34,290 iesniegt visu pati. 1511 01:15:34,290 --> 01:15:38,170 Un šajā brīdī, piemēram, int kubs line būtu - 1512 01:15:38,170 --> 01:15:42,460 iekšpusē stdio.h ir ķekars līniju, tāpat kā šajā int 1513 01:15:42,460 --> 01:15:44,010 kubs int ievade līnija. 1514 01:15:44,010 --> 01:15:50,170 >> Un tā šie prototipi ir lietas, kas jums mēdz nodot header failus, pie 1515 01:15:50,170 --> 01:15:52,140 Kurā brīdī, tas nav svarīgi. 1516 01:15:52,140 --> 01:15:54,700 Nu, tas nav svarīgi. 1517 01:15:54,700 --> 01:15:56,070 Tiem vienmēr iet augšā. 1518 01:15:56,070 --> 01:15:59,490 Un, ja galvenais nav fails visu pati, Jums nav jāuztraucas par liekot 1519 01:15:59,490 --> 01:16:02,360 individuālie funkciju prototipus failā. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: Un mēs nokļūt, ka maz Nedaudz vēlāk, kad Rob sāk runāt 1521 01:16:05,370 --> 01:16:06,380 par sagatavošanā. 1522 01:16:06,380 --> 01:16:09,480 Un tāpēc tur ir arī atšķirība starp parametru un argumentu. 1523 01:16:09,480 --> 01:16:12,500 Un parametrs ir tieši tas, ko mēs saucam šīs izejvielas, ja 1524 01:16:12,500 --> 01:16:13,820 mēs definējam funkciju. 1525 01:16:13,820 --> 01:16:16,950 Un mēs to saucam arguments, kad mēs faktiski nodot to funkciju. 1526 01:16:16,950 --> 01:16:19,600 >> Tātad šajā gadījumā, tas ir parametrs, kā mēs teicām iepriekš. 1527 01:16:19,600 --> 01:16:24,130 Un, kad mēs faktiski izmantot to tur, kubs x, tad x pati 1528 01:16:24,130 --> 01:16:25,910 tas, ko mēs saucam par argumentu uz funkciju kubu. 1529 01:16:25,910 --> 01:16:28,150 >> ROB: Tik parametra argumenti - 1530 01:16:28,150 --> 01:16:33,270 ir šī atšķirība, ir ļoti sajaukt aizstāt. 1531 01:16:33,270 --> 01:16:37,090 Šajā brīdī, manuprāt, tas ir, piemēram, viens no šie vārdi, ka tad, kad es redzu to, kas 1532 01:16:37,090 --> 01:16:41,190 savvaļas, es nevaru palīdzēt, bet uzreiz Jautājums, vai viņi izmanto to 1533 01:16:41,190 --> 01:16:44,120 pareizais konteksts, jo Atšķirība ir pietiekami smalks, ka tikai 1534 01:16:44,120 --> 01:16:45,500 ikvienam ir tendence - 1535 01:16:45,500 --> 01:16:48,530 Es gandrīz vienmēr saku argumentu neatkarīgi no tā, ko es domāju. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: Un funkcijas ir arī noderīga par to, ko mēs saucam blakusparādības. 1538 01:16:54,630 --> 01:16:59,230 Tā funkciju var veikt ne izejvielas, un tā var arī ražot nav izejas. 1539 01:16:59,230 --> 01:17:03,280 Tātad šajā konkrētajā gadījumā, es esmu definējot subroutine, kuram nav 1540 01:17:03,280 --> 01:17:03,970 atgriešanās vērtību. 1541 01:17:03,970 --> 01:17:07,730 Un, lai precizētu, ka mēs izmantojam tas, ko mēs saucam par spēkā neesošu nekā šeit. 1542 01:17:07,730 --> 01:17:10,890 Un tā blakusparādība šīs funkcijas ir tas, ka tas ir tikai drukā sīkumi 1543 01:17:10,890 --> 01:17:11,920 , lai lapā. 1544 01:17:11,920 --> 01:17:13,840 Tas nav reāli veikt jebkādus ieejas, un tas nav 1545 01:17:13,840 --> 01:17:15,360 faktiski nekādas izejas. 1546 01:17:15,360 --> 01:17:18,230 >> Bet tas varētu būt noderīga tādā ziņā, Ja jūs vēlaties, lai, piemēram, atkļūdošanas 1547 01:17:18,230 --> 01:17:21,530 kaut kas savu programmu, ja vēlaties rakstīt mazliet subroutine kas 1548 01:17:21,530 --> 01:17:25,160 izdrukā, teiksim, saturs atmiņas vai kaut ko. 1549 01:17:25,160 --> 01:17:29,800 Un tā šīs blakusparādības dažkārt noderīgs ārpus konteksta 1550 01:17:29,800 --> 01:17:33,010 un tāpat kā ieejas un izejas. 1551 01:17:33,010 --> 01:17:34,260 Kādi jautājumi? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> Un izbeigt šo konkrēto segmentu, ko šī programma dara? 1554 01:17:44,240 --> 01:17:47,420 Es došu jums puiši pāris sekundes, lai lasīt caur to. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 Ļoti pamata līmenī, ko mēs gribam, lai teikt, ka tas mijmaiņas x un y, vai ne? 1557 01:17:56,880 --> 01:18:00,090 >> Tā kā daudzi no jums patiesībā domā tas swap x un y? 1558 01:18:00,090 --> 01:18:02,160 Paceliet roku. 1559 01:18:02,160 --> 01:18:02,760 Neviens. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 Kas domā, ka tā būs nav mijmaiņas x un y? 1562 01:18:06,720 --> 01:18:09,120 Un no tā summa bija ne visu istabu. 1563 01:18:09,120 --> 01:18:10,440 Tāpēc daži cilvēki nav pārliecināti. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 Tas ir saprātīgi. 1566 01:18:11,630 --> 01:18:16,450 >> Tātad, pieņemsim iet caur to, kas notiek, kad jūs faktiski zvanīt funkcijas vispirms 1567 01:18:16,450 --> 01:18:18,320 Lai atbildētu uz šo jautājumu. 1568 01:18:18,320 --> 01:18:21,430 Tātad šis ir tas, ko atmiņa veida izskatās. 1569 01:18:21,430 --> 01:18:23,860 Tas ir veida, piemēram, vienkāršotu modeli par to, ko atmiņa izskatās, kad 1570 01:18:23,860 --> 01:18:24,800 palaist programmu. 1571 01:18:24,800 --> 01:18:27,270 Tātad tur ir kaut kas ko sauc kaudze uz leju šeit un 1572 01:18:27,270 --> 01:18:28,330 kaut ko sauc kaudze. 1573 01:18:28,330 --> 01:18:30,950 Un tie aug, lai vidū atmiņas. 1574 01:18:30,950 --> 01:18:33,860 >> Tātad šajā konkrētajā gadījumā, kad jūs zvanu funkciju, tā 1575 01:18:33,860 --> 01:18:35,680 izpaužas likts uz skursteņa. 1576 01:18:35,680 --> 01:18:38,900 Un tad kāds ir ietverts, ka funkcija paliek tas, ko mēs saucam par 1577 01:18:38,900 --> 01:18:40,550 Funkcija ir kaudze rāmi. 1578 01:18:40,550 --> 01:18:44,500 Un tāpēc, lai iegūtu jauku vizualizāciju Tas, let's - piemēram, mums bija 1579 01:18:44,500 --> 01:18:45,960 Programmas galvenais agrāk. 1580 01:18:45,960 --> 01:18:47,820 Un iekšpusē galvenais, mēs sauc kubu. 1581 01:18:47,820 --> 01:18:50,650 Tātad galvenais vispirms doties uz skursteņa rāmis, jo tas ir pirmais funkcija 1582 01:18:50,650 --> 01:18:51,640 ka sauc. 1583 01:18:51,640 --> 01:18:55,740 >> Un tad, kad kubs sauc iekšpusē galvenais, tā izpaužas likts uz augšu no galvenā 1584 01:18:55,740 --> 01:18:57,790 iekšā atmiņas. 1585 01:18:57,790 --> 01:19:02,090 Tātad, ko jūs pamanīsiet, šeit ir tas, ka kubs ir savi parametri, un tās 1586 01:19:02,090 --> 01:19:02,950 pašu vietējie iedzīvotāji. 1587 01:19:02,950 --> 01:19:06,720 Tātad, kad jūs faktiski iet kaut ko funkcija, parametrus, ka 1588 01:19:06,720 --> 01:19:09,910 izpaužas ir kopijas, kas bija pagājis no galvenā. 1589 01:19:09,910 --> 01:19:14,140 >> Un veida izskaidrot, pieņemsim staigāt pa programmu. 1590 01:19:14,140 --> 01:19:16,960 Tāpēc mums ir kaudze, tas ir tikai kaudze daļu. 1591 01:19:16,960 --> 01:19:21,240 Un tas, ko mēs darām, ir mūsu pirmais inicializēt x un y ir viens un divi. 1592 01:19:21,240 --> 01:19:22,400 Tāpēc mums ir šīs maz kastes. 1593 01:19:22,400 --> 01:19:25,310 Viņi sēž galvenie ir kaudze rāmja kaudze. 1594 01:19:25,310 --> 01:19:26,580 Tie satur vienu un divi. 1595 01:19:26,580 --> 01:19:28,820 >> Tagad mēs saucam swap. 1596 01:19:28,820 --> 01:19:33,940 Kas notiek, ir, mēs caurlaide x un y uz swap, un mijmaiņas rada savu kopijas 1597 01:19:33,940 --> 01:19:36,520 gada šie mainīgie izmantot iekšējo tā kaudze rāmi. 1598 01:19:36,520 --> 01:19:39,920 Tāpēc tagad tur, mēs esam, kas satur vērtību, kas bija x, un b, 1599 01:19:39,920 --> 01:19:41,620 kas satur vērtību, kas y bija. 1600 01:19:41,620 --> 01:19:42,670 Tātad, viens, divi. 1601 01:19:42,670 --> 01:19:47,130 >> Un jūs ievērosiet, ka tas ir atsevišķs no x un y iekšpusē galvenais. 1602 01:19:47,130 --> 01:19:51,390 Tātad, mēs tagad izveidot pagaidu mainīgo satur. 1603 01:19:51,390 --> 01:19:56,100 Mēs, kas vienāda ar B, tāpēc izmaiņas no viena līdz diviem. 1604 01:19:56,100 --> 01:19:59,340 Un tad mēs noteikti b vienlīdzīgu temp, kas ir viens. 1605 01:19:59,340 --> 01:20:01,640 >> Un tad tagad mēs izietu Šīs funkcijas. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 Kad izejat no funkciju, kaudze rāmis kļūst popped off kaudzīti. 1608 01:20:07,410 --> 01:20:08,270 Mēs to saucam push. 1609 01:20:08,270 --> 01:20:12,750 Jūs push kaudze rāmi uz kaudze un jūs pop, ja pie skursteņa. 1610 01:20:12,750 --> 01:20:16,080 Un tā, kas notiek, ir viss, kas bija, ka kaudze rāmja veida tikko 1611 01:20:16,080 --> 01:20:17,280 iet uz augšu liesmās. 1612 01:20:17,280 --> 01:20:19,180 Un tā, kas vairs nepastāv. 1613 01:20:19,180 --> 01:20:20,470 >> Bet ko mēs redzam? 1614 01:20:20,470 --> 01:20:23,690 Mēs nekad faktiski mainīts vērtības x un y, labi? 1615 01:20:23,690 --> 01:20:26,530 Tātad tie palika vietējā galveno. 1616 01:20:26,530 --> 01:20:29,900 Un nododot lietas vērā swap, mēs patiesībā nekad nav mainījies šīs vērtības. 1617 01:20:29,900 --> 01:20:31,260 Un tas, ko mēs saucam? 1618 01:20:31,260 --> 01:20:33,040 Mēs to saucam par nodošanu pēc vērtības. 1619 01:20:33,040 --> 01:20:36,860 >> Tātad C, kad iet lietas vērā funkcijas, tas iet tos pēc vērtības un 1620 01:20:36,860 --> 01:20:40,160 padara kopiju tām funkciju izmantot. 1621 01:20:40,160 --> 01:20:43,980 Un mēs uzzināt par kaut ko sauc par iet ar atsauci vēlāk, bet tas ir 1622 01:20:43,980 --> 01:20:45,390 veids, kā jūs varat atrisināt šo problēmu. 1623 01:20:45,390 --> 01:20:47,080 Bet mums nebūs jāuztraucas par ka tikai vēlāk. 1624 01:20:47,080 --> 01:20:52,200 >> ROB: Un tiešām, šis termins, iet ar atsauci, lai C pat nav 1625 01:20:52,200 --> 01:20:54,270 garām norādes. 1626 01:20:54,270 --> 01:20:56,760 C tikai ir garām vērtību. 1627 01:20:56,760 --> 01:20:59,630 Nav svarīgi, ko jūs darāt, jūs vienmēr iet kopiju kaut ko. 1628 01:20:59,630 --> 01:21:03,395 Tas ir tikai, ka, kā es veida minēja ka pirms ar norādes 1629 01:21:03,395 --> 01:21:07,690 un ka virkne ir tiešām tikai četras baiti norāda uz kaut kur atmiņā. 1630 01:21:07,690 --> 01:21:11,890 >> Nu, ja man ir šī stīgu, un tas ir stāsta man, tas ir, ja virkne - 1631 01:21:11,890 --> 01:21:15,470 labi, ja man ir šo rādītāju, lai šo vietu atmiņā, tad es varu iet 1632 01:21:15,470 --> 01:21:19,160 kopiju šo rādītāju uz funkciju, un šī funkcija joprojām zina, kur 1633 01:21:19,160 --> 01:21:19,780 atmiņu tas ir. 1634 01:21:19,780 --> 01:21:22,950 Tāpēc abas šīs norādes ir vērsti tajā pašā vietā atmiņā, un 1635 01:21:22,950 --> 01:21:26,460 tas, kā mēs ejam, lai varētu mainīt lietas, kas pārsniedz 1636 01:21:26,460 --> 01:21:29,852 Pašreizējā kaudze rāmi. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: Vai jūs vēlaties darīt apkopošanu? 1638 01:21:31,040 --> 01:21:31,820 >> ROB: Nē, tas ir 05:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 Tā ir 05:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 Tāpēc mēs segs apkopojot es uzminēt nākamajā sadaļā, vai jūsu sadaļa 1643 01:21:39,280 --> 01:21:42,795 vadītājs būs tajā brīdī. 1644 01:21:42,795 --> 01:21:43,272 Un - 1645 01:21:43,272 --> 01:21:44,630 >> ROB: Kādi jautājumi? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: Kādi jautājumi? 1647 01:21:46,760 --> 01:21:47,150 Jā? 1648 01:21:47,150 --> 01:21:52,469 >> SPEAKER 5: Izmantojot virknes no CS50, jebkura funkcijas, kuras mēs vēlamies izmantot 1649 01:21:52,469 --> 01:21:53,880 tiem, kas būs, piemēram, C funkcijas. 1650 01:21:53,880 --> 01:21:59,050 CS50 nav aizgājuši un pieļautas papildus. 1651 01:21:59,050 --> 01:22:01,850 >> ROB: Pareizi. 1652 01:22:01,850 --> 01:22:08,155 Jebkurš C, piemēram, [dzirdams], jūs varētu izmantot tos uz mūsu stīgas. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: Un viena pēdējā lieta, ko es vēlos pieminēt, ka mums ir stila ceļvedis 1654 01:22:12,400 --> 01:22:13,130 šajā klasē. 1655 01:22:13,130 --> 01:22:13,360 >> ROB: Ak, jā. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH: Tātad, ja jums ir no programmēšanas fona pirms jums 1657 01:22:15,270 --> 01:22:17,750 varētu būt zināmas konvencijas, kad Jūs esat rakstiski kodu, piemēram, liekot 1658 01:22:17,750 --> 01:22:20,950 bikšturi tajā pašā rindā vai īpaši veidi indenting 1659 01:22:20,950 --> 01:22:22,240 vai nosaucot savu mainīgos. 1660 01:22:22,240 --> 01:22:26,870 Šajā klasē, mēs vēlamies, lai sekotu īpaša stila rokasgrāmata tikai tāpēc, 1661 01:22:26,870 --> 01:22:31,100 labi, ja jūs iet un strādāt rūpniecība, jūs esat būs sagaidāms 1662 01:22:31,100 --> 01:22:34,780 sekot stila rokasgrāmatu sabiedrība, kurā jūs apmeklējat. 1663 01:22:34,780 --> 01:22:38,040 >> Tāpat kā, piemēram, Facebook es domāju ir īpaša veida nosaukumu 1664 01:22:38,040 --> 01:22:38,760 konvencija. 1665 01:22:38,760 --> 01:22:42,570 Un tur ir atšķirības starp kamielis korpusa mainīgie un tāpat kā 1666 01:22:42,570 --> 01:22:44,610 atdalot tos ar apakšsvītra. 1667 01:22:44,610 --> 01:22:52,170 Un arī, es domāju, ka pats svarīgākais, piemēram, piemēram, atkāpes, vai ne? 1668 01:22:52,170 --> 01:22:56,440 >> Mēs cirtaini bikšturi sākt, kur nosacījums ir, un tie 1669 01:22:56,440 --> 01:22:57,730 ir nākamajā rindā. 1670 01:22:57,730 --> 01:23:01,230 Un mēs arī nodot cirtaini bikšturi in pat ja tā ir tikai viena rinda. 1671 01:23:01,230 --> 01:23:06,100 Un daudz reižu, ka ir veidi, kā to darīt tā, kur jūs varat atstāt šo lencēm 1672 01:23:06,100 --> 01:23:08,380 off, ja tā ir tikai viena līnija Saskaņā ar If paziņojumu. 1673 01:23:08,380 --> 01:23:12,070 Bet šajā klasē, mēs vēlamies, lai sekotu īpaša stila rokasgrāmata tikai, lai jūs iegūtu 1674 01:23:12,070 --> 01:23:13,550 pieraduši, ka veida lieta. 1675 01:23:13,550 --> 01:23:16,410 >> ROB: Jā, un stils 50 gatavojas īstenotu šo stila rokasgrāmatu, un mēs esam 1676 01:23:16,410 --> 01:23:18,080 gatavojas izmantot Style 50 pakāpē jūsu kodu. 1677 01:23:18,080 --> 01:23:25,150 Tāpēc tas padara lietas vieglāk mums un cerams nevajadzētu darīt lietas, kas 1678 01:23:25,150 --> 01:23:30,120 daudz sliktāk par jums, ņemot standartizēts stils nedrīkst būt, ka 1679 01:23:30,120 --> 01:23:31,460 nereāls. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: Un visbeidzot, lai atrastu stilu Guide, dodieties uz manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 Un jā. 1682 01:23:37,725 --> 01:23:40,575 >> SPEAKER 4: Vai jūs plānojat, lai īstenotu kādi simboli katrā rindā? 1683 01:23:40,575 --> 01:23:42,480 >> ROB: Jā. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: Atvainojiet, puiši. 1685 01:23:45,405 --> 01:23:47,680 >> ROB: Tas ir, piemēram, viens no vienīgajiem. 1686 01:23:47,680 --> 01:23:50,420 Šajā brīdī, es esmu OK ar 120. 1687 01:23:50,420 --> 01:23:52,460 Es esmu OK ar sakot 120 simboli katrā rindā. 1688 01:23:52,460 --> 01:23:53,830 Es saprotu, ka ir kāds limits. 1689 01:23:53,830 --> 01:23:57,130 Es domāju, ka 80 ir tik mazs, bet mēs tā izpildes. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: Personīgi, es domāju, ka ar C, 80 zīmes ir vairāk OK. 1691 01:24:00,260 --> 01:24:04,160 Tiklīdz jūs sākat panākt, lai citi valodas, piemēram, JavaScript un PHP, nevis 1692 01:24:04,160 --> 01:24:08,860 tik saprātīgi, lai tikai ierobežotu to 80 rakstzīmes. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 Nu, tas bija super sadaļā. 1695 01:24:12,780 --> 01:24:14,750 Vai kāds vēlas Candy? 1696 01:24:14,750 --> 01:24:16,000 >> SPEAKER 4: Jā. 1697 01:24:16,000 --> 01:24:18,667