1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> რობ Bowden: ეს არის უფრო კომფორტული განყოფილებიანი, 3 00:00:13,351 --> 00:00:16,309 მაგრამ ეს არ ნიშნავს, რომ თუ გრძნობს, როგორც თქვენ არ უფრო კომფორტული 4 00:00:16,309 --> 00:00:18,420 თქვენ არ ვისწავლოთ რამ აქ. 5 00:00:18,420 --> 00:00:20,600 მოდით დავიწყოთ. 6 00:00:20,600 --> 00:00:22,819 გაქვთ სლაიდები ახლავე შევიდა რამ. 7 00:00:22,819 --> 00:00:24,360 მე ვარ შესახებ მხოლოდ მას ახლა? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 გადართვის ლაპტოპები. 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> ALLISON თქვენ არ მინდა გაგვეცანი, რობ? 12 00:00:32,950 --> 00:00:34,090 >> რობ Bowden: ოჰ, მე Rob. 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 ეს არის ჩემი მეხუთე წელი TF-ing CS50. 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL: მე ვარ გაბრიელ. 17 00:00:39,650 --> 00:00:41,610 მე უფროსი TF CS50. 18 00:00:41,610 --> 00:00:44,009 მე ვიყავი TF შარშან და წელს. 19 00:00:44,009 --> 00:00:46,675 ALLISON: მე Alison, და ეს ჩემი მეორე წელს TF-ing CS50. 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> რობ Bowden: ყველა უფლება, ასე ეს ის მარცხენა, 22 00:00:50,825 --> 00:00:52,250 იმედია თქვენ მინახავს ადრე. 23 00:00:52,250 --> 00:00:54,112 თუ არა იმიტომ, რომ ჩამოტვირთვა თავს, 24 00:00:54,112 --> 00:00:55,570 თქვენ უნდა მინახავს ეს ლექცია. 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 ასე რომ ეს არის CS50 ელექტრო მოწყობილობების, და იგი გააკეთა გარკვეულწილად აღწერა ეს 27 00:01:01,320 --> 00:01:01,880 ლექცია. 28 00:01:01,880 --> 00:01:06,890 მაგრამ, ძირითადად, ეს მხოლოდ თქვენ გაშვებული ოპერაციული 29 00:01:06,890 --> 00:01:10,550 სისტემა ოპერაციული სისტემა ისე, რომ ჩვენ შეგვიძლია მოგცეთ 30 00:01:10,550 --> 00:01:12,540 პროგრამები გარეშე, ფიქრი, რა არის ეს 31 00:01:12,540 --> 00:01:15,989 იმუშავებს როგორც Windows და Mac, ან, თუ ზოგიერთი თქვენ 32 00:01:15,989 --> 00:01:17,280 უკვე გამოყენებით Linux, Linux. 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 ეს უბრალოდ უნდა იყოს საერთო სათამაშო 35 00:01:20,240 --> 00:01:23,010 სფეროში, რათა ყველას აქვს ზუსტად იგივე გარემო. 36 00:01:23,010 --> 00:01:25,344 >> ასე რომ, თუ თქვენ არ გადმოწერილი, ეს უკვე, 37 00:01:25,344 --> 00:01:28,510 თქვენ უნდა გადმოწეროთ, რადგან თქვენ აპირებთ უნდა ეს პრობლემა კომპლექტი. 38 00:01:28,510 --> 00:01:32,335 და ეს არის ორი gigabyte უფასო, ასე რომ, შესაძლოა მიიღოს awhile. 39 00:01:32,335 --> 00:01:33,780 On ჰარვარდის ეს თქვენ წავიდეთ სწრაფად. 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 ამიტომ CS50 ელექტრო მოწყობილობების. 42 00:01:37,440 --> 00:01:41,980 >> ახლა, წლის დასაწყისში, ჩვენ ვაპირებთ ვისაუბროთ მხოლოდ bunch of command line 43 00:01:41,980 --> 00:01:46,880 პერსონალის და ასე რომ, ვგულისხმობ მუშაობა ამ პატარა გარემოს აქ. 44 00:01:46,880 --> 00:01:53,230 და შენიშნავს, ყველა რამ მე ვიტყვი, რომ სწორედ აქ ახლა 45 00:01:53,230 --> 00:01:56,900 იმუშავებს თუ თქვენ შიგნით ტერმინალის შიგნით ელექტრო მოწყობილობების, 46 00:01:56,900 --> 00:02:00,790 თუ თქვენ ხართ შიგნით gedit ტერმინალის ფანჯარაში 47 00:02:00,790 --> 00:02:02,090 შიგნით ელექტრო მოწყობილობების. 48 00:02:02,090 --> 00:02:03,770 ასე რომ, იმ გარემოში იდენტურია. 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> მაგრამ მე ვაპირებ წასვლა მესამე მარშრუტი. 51 00:02:07,270 --> 00:02:12,200 და შეამჩნია ქვემოთ აქ ამ პატარა IP მისამართი უფლება აქ. 52 00:02:12,200 --> 00:02:15,940 ასე რომ თქვენ არ უნდა ამისათვის, მაგრამ ეს IP 53 00:02:15,940 --> 00:02:19,700 address-- ახლა თუ არ მე გარდა ის დაბლოკა ამ რამ. 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 OK, ასე რომ IP მისამართი მეტი ტერმინალში 56 00:02:27,000 --> 00:02:31,090 აქ, ასე რომ ეს ტერმინალი მეტი აქ არის ტერმინალის ჩემი Mac. 57 00:02:31,090 --> 00:02:34,540 ასე რომ, ეს არ არის გაკეთებული დაკავშირებული მოწყობილობების ყველა. 58 00:02:34,540 --> 00:02:39,360 და თუ თქვენ Windows, მაშინ თქვენ აპირებთ უნდა ჩამოტვირთოთ რამე 59 00:02:39,360 --> 00:02:44,430 სპეციალურად ამ, კერძოდ ხალხი ტენდენცია გამოიყენოს საბაღე, P-U-T-T-Y. 60 00:02:44,430 --> 00:02:50,700 >> მერე რა მე ვაპირებ გააკეთოთ ტიპი SSH და მაშინ, რომ IP მისამართი. 61 00:02:50,700 --> 00:02:54,030 ასევე, jharvard, რომ IP მისამართი. 62 00:02:54,030 --> 00:03:00,150 ასე 192.168.24.220. 63 00:03:00,150 --> 00:03:02,127 ამ საშინელი გაგზავნა, იგნორირება. 64 00:03:02,127 --> 00:03:02,710 მხოლოდ ჩაწერეთ დიახ. 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 ეს არის CS50 ყუთში. 67 00:03:06,030 --> 00:03:07,460 იგი სთხოვს თქვენი პაროლი. 68 00:03:07,460 --> 00:03:11,910 >> ასე რომ, ბევრი ამ კონტექსტში, სადაც იგი სთხოვს პაროლი [INAUDIBLE]. 69 00:03:11,910 --> 00:03:15,670 ჩვენ მივიღეთ ბევრი კითხვა, სადაც ის ამბობს, რომ რეალურად არ აკრეფით. 70 00:03:15,670 --> 00:03:20,011 ეს არ ჩანს, თქვენ გმირები დაგავიწყდათ, როგორც თქვენ, თუ რამე, 71 00:03:20,011 --> 00:03:23,010 უსაფრთხოების ფუნქცია, რადგან თუ ვინმე ეძებს მეტი თქვენი მხრის 72 00:03:23,010 --> 00:03:25,870 და ხედავენ ვარსკვლავი ვარსკვლავი ვარსკვლავი ვარსკვლავი, შემდეგ კი 73 00:03:25,870 --> 00:03:28,640 ვიცი, რომ თქვენი პაროლი ოთხი სიმბოლო. 74 00:03:28,640 --> 00:03:32,660 ისე იდეა დასვამს თქვენი პაროლი, ტიპის. 75 00:03:32,660 --> 00:03:34,490 ის არ აპირებს აჩვენებს თქვენ გმირები, 76 00:03:34,490 --> 00:03:36,090 მაგრამ სინამდვილეში მიღება მათ. 77 00:03:36,090 --> 00:03:39,210 ამ შემთხვევაში, ნებისმიერ დროს ოდესმე დაგავიწყდათ სწრაფი 78 00:03:39,210 --> 00:03:42,280 საქმე ელექტრო მოწყობილობების, დაგავიწყდათ იქნება ჟოლოსფერი. 79 00:03:42,280 --> 00:03:43,270 ასე ჟოლოსფერი. 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> და ახლა აქ შიგნით ფანჯარა, რომელიც არის ჩემი Mac, 82 00:03:50,550 --> 00:03:54,120 მე ძირითადად მქონე იგივე ზუსტი კალენდარი 83 00:03:54,120 --> 00:03:57,040 როგორც ქვეყნის შიგნით ტერმინალში ელექტრო. 84 00:03:57,040 --> 00:03:58,470 ასე რომ თქვენ არ უნდა გავაკეთოთ ეს. 85 00:03:58,470 --> 00:04:01,300 თქვენ შეგიძლიათ გააკეთოთ ყველაფერი თქვენ მინდა შიგნით ელექტრო მოწყობილობების. 86 00:04:01,300 --> 00:04:05,140 მე თითქმის არასდროს რეალურად გააკეთებს არაფერი მოწყობილობების. 87 00:04:05,140 --> 00:04:09,440 მე თითქმის ყოველთვის მინიმუმამდე რომ და ახლა მე მუშაობა SSH ელექტრო მოწყობილობების. 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> თუ არაფერი, თუ აქვს ნელი კომპიუტერი, 90 00:04:14,180 --> 00:04:15,820 თქვენ ალბათ შეამჩნევთ განსხვავებას. 91 00:04:15,820 --> 00:04:18,839 მე ამის გაკეთება, რადგან მე მირჩევნია ტერმინალის ფანჯარაში. 92 00:04:18,839 --> 00:04:20,881 მას აქვს გარკვეული თვისებები, როგორიცაა შემიძლია გაყოფილი ფანჯრიდან, 93 00:04:20,881 --> 00:04:22,672 და ახლა შეგიძლიათ SSH in მეშვეობით მოწყობილობების. 94 00:04:22,672 --> 00:04:24,105 მე მივიღე ორი SSH ხდება ერთდროულად. 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 თუ თქვენი კომპიუტერი განსაკუთრებით ნელი და თქვენ მომუშავე მოწყობილობების, 97 00:04:32,250 --> 00:04:35,200 და ხვდები, რომ ეს არის ნამდვილად laggy, რასაც. 98 00:04:35,200 --> 00:04:38,220 Tends უნდა იყოს ბევრად უფრო სწრაფად თუ თქვენ SSH-ed in. 99 00:04:38,220 --> 00:04:40,960 მაგრამ სხვაგვარად თქვენ შეგიძლიათ იმუშაოთ ნებისმიერ შემთხვევაში. 100 00:04:40,960 --> 00:04:42,388 >> აუდიტორია: რა SSH ნიშნავს? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> რობ Bowden: Secure ჭურვები, რაღაც მსგავსი? 103 00:04:47,479 --> 00:04:48,270 რას SSH ნიშნავს? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL: Secure Shell. 106 00:04:55,130 --> 00:04:56,463 ALLISON: უბრალოდ უსაფრთხო shell. 107 00:04:56,463 --> 00:04:57,720 რობ Bowden: Secure Shell. 108 00:04:57,720 --> 00:05:03,700 ეს ოქმი, რომელიც თქვენ ეს უსაფრთხო ოქმი, ასე იშიფრება. 109 00:05:03,700 --> 00:05:06,850 ადამიანი ვერ Snoop ქსელი და ვნახოთ, თუ რას ვამბობთ, რომ არაფერი 110 00:05:06,850 --> 00:05:08,120 თქვენ SSH-ed უნდა. 111 00:05:08,120 --> 00:05:12,900 და ფაქტობრივად, ოდითგანვე დღის CS50, ასე 2009 წელს 112 00:05:12,900 --> 00:05:19,300 როდესაც მე ვიყავი freshman, ისე, რომ თქვენ მუშაობდა CS50 პრობლემა კომპლექტი, 113 00:05:19,300 --> 00:05:22,490 შენ SSH-ed ზოგიერთ სერვერზე რომ მივეცით თქვენ ხელმისაწვდომობის, 114 00:05:22,490 --> 00:05:23,497 და მუშაობდა იქ. 115 00:05:23,497 --> 00:05:25,330 ასე რომ თქვენ არ აქვს ეს გრაფიკული მოწყობილობების. 116 00:05:25,330 --> 00:05:26,160 თქვენ არ გაქვთ gedit. 117 00:05:26,160 --> 00:05:28,930 თქვენ არ გაქვთ ეს ყველაფერი, რომ თქვენ შეიძლება ვიზუალურად წერტილი და დააჭირეთ. 118 00:05:28,930 --> 00:05:30,346 უწევდათ მუშაობა ამ ინტერფეისი. 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 მირჩევნია მუშაობა ამ ინტერფეისი. 121 00:05:33,716 --> 00:05:36,090 ასე რომ, ნაწილი, რასაც ჩვენ ვაპირებთ უნდა აპირებს მეტი ახლა 122 00:05:36,090 --> 00:05:39,560 რამოდენიმე ბრძანებები, თქვენ უნდა 123 00:05:39,560 --> 00:05:42,095 დაიწყოს გაეცნოს როგორც თქვენ წავიდეთ ერთად რა თქმა უნდა. 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 და გულწრფელად, კიდევ ერთხელ შეეგუება, ეს 126 00:05:45,790 --> 00:05:48,220 ასე უფრო სწრაფად მუშაობა ამ გარემოში 127 00:05:48,220 --> 00:05:53,690 ვიდრე მუშაობა მონახეთ გადმოიყვანა და დაჭერით რამ. 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> ასე რომ აქ ვართ. 130 00:05:57,210 --> 00:06:01,779 ახლა მე უბრალოდ SSH-ed, და ა.შ. ნაგულისხმები location-- თქვენ 131 00:06:01,779 --> 00:06:04,820 დაინახა, ზოგიერთი ეს ბრძანებები კლასში, მაგრამ ჩვენ წავიდეთ ყველა მათგანი კიდევ ერთხელ. 132 00:06:04,820 --> 00:06:08,060 ნაგულისხმევ ჩვენ ამ სახლში დირექტორია. 133 00:06:08,060 --> 00:06:11,520 და დირექტორია, უბრალოდ კიდევ ერთი სიტყვა საქაღალდეში. 134 00:06:11,520 --> 00:06:13,310 ასე რომ, ჩვენ სახლში დირექტორია. 135 00:06:13,310 --> 00:06:15,889 აკრიფოთ ls, მიუთითეთ ფაილი ამ დირექტორიაში. 136 00:06:15,889 --> 00:06:17,430 როგორც ჩანს, მე შეიქმნა blah.c ადრე. 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 ამიტომ ჩვენ გვაქვს desktop დირექტორია. 139 00:06:20,472 --> 00:06:21,930 თქვენ შეამჩნევთ, სინტაქსის შეფერადება? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 ცისფერი შეფერადება მიუთითებს დირექტორია და სწორი თეთრი 142 00:06:32,900 --> 00:06:34,380 მიუთითებს მხოლოდ უბრალო ფაილი. 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 ასე არ ვაპირებთ, რომ იყოს ზოგიერთი სხვა ფერები ხედავთ. 145 00:06:37,690 --> 00:06:41,240 შესრულებადი ფაილი ალბათ აპირებს უნდა იყოს მწვანე ან რამე მაგდაგვარს. 146 00:06:41,240 --> 00:06:44,820 OK, ასე რომ, ჩვენ სახლში დირექტორია. 147 00:06:44,820 --> 00:06:48,970 >> ახლა, თუ გვინდა, რომ წასვლას სხვადასხვა მომსახურება, CD არის ბრძანება მინდა. 148 00:06:48,970 --> 00:06:52,720 ასე რომ შეცვალოს დირექტორია, და მაშინ გაივლის სახელი მომსახურება 149 00:06:52,720 --> 00:06:54,020 , რომ გსურთ წასვლას. 150 00:06:54,020 --> 00:06:55,780 ასე რომ აქ გვაქვს ოთხი ვარიანტი. 151 00:06:55,780 --> 00:07:03,397 შემიძლია წასვლა ჩამოტვირთვების, და ახლა ჩვენ ვხედავთ, აქ ის მხრიდან ამ ჩართული 152 00:07:03,397 --> 00:07:04,480 უნდა ვთქვა, მე ვარ ~ / Downloads. 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> რა არის tilde? 155 00:07:06,800 --> 00:07:10,640 ეს სტენოგრამის თქვენი სახლის დირექტორია. 156 00:07:10,640 --> 00:07:15,260 ასე რომ, თითქმის ყველაფერი თქვენ აპირებს იქნება მიმართ თქვენი სახლის დირექტორია, 157 00:07:15,260 --> 00:07:20,620 და pwd მხოლოდ ბრძანება გამოვიყენო წელიწადში ერთხელ, რომ 158 00:07:20,620 --> 00:07:22,420 უბრალოდ ბეჭდავს მიმდინარე დირექტორია. 159 00:07:22,420 --> 00:07:25,730 და ასე რომ თქვენ ხედავთ, რომ აქ ~ / გადმოწერა ნამდვილად წყვეტს 160 00:07:25,730 --> 00:07:26,896 to / home / jharvard / ჩამოტვირთვების. 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 ასე / home / jharvard არის ჩემი მთავარი დირექტორია. 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> ასე რომ ჩვენ შეგვიძლია cd dot dot. 165 00:07:39,400 --> 00:07:47,800 ახლა dot dot არის სპეციალური კატალოგი, რომელიც ყოველთვის ეხება ერთი დირექტორია up. 166 00:07:47,800 --> 00:07:51,730 ასე რომ, თუ მე ~ / ჩამოტვირთვების, მაშინ cd dot dot აპირებს მოუტანს ჩემთვის Tilde. 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 რას ვფიქრობთ cd dot dot აპირებს მოუტანს ჩემთვის ახლა? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 ეს თქვენ მოუტანს ჩემთვის / home. 171 00:08:00,570 --> 00:08:04,450 ასე Tilde ბეჭდვითი სამუშაო დირექტორია, მე ახლა / home / jharvard. 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 ერთი დირექტორია მდე რომ, ახლა კი ამბობს აქ / home. 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> ახლა cd dot dot. 176 00:08:17,180 --> 00:08:20,910 ახლა მე root დირექტორია, და თქვენ ამის გაკეთება არ შეუძლიათ ერთხელ. 177 00:08:20,910 --> 00:08:23,340 თქვენ უბრალოდ დარჩება root დირექტორია სამუდამოდ. 178 00:08:23,340 --> 00:08:26,700 Root დირექტორია აქვს მთელი bunch of რამ, რომ, თუ გსურთ შესასწავლად, 179 00:08:26,700 --> 00:08:27,410 თქვენ შეგიძლიათ. 180 00:08:27,410 --> 00:08:29,700 მაგალითად, თუ მე შევიდა ბინ, რომელიც შეიცავს 181 00:08:29,700 --> 00:08:35,789 ყველა ამ binaries, როგორიცაა ls, და CD და ყველა იმ რამ. 182 00:08:35,789 --> 00:08:38,630 ასე რომ, ეს ბრძანებები უნდა არსებობს სადმე სისტემაში 183 00:08:38,630 --> 00:08:40,820 და ეს / bin დირექტორია. 184 00:08:40,820 --> 00:08:44,530 მაგრამ თითქმის ყველაფერი უნდა გავაკეთოთ არის იქნება თქვენი სახლის დირექტორია. 185 00:08:44,530 --> 00:08:49,490 და CD ყოველგვარი არგუმენტების გარეშე, თქვენ შეიძლება ითქვას, cd ~, არ უნდა. 186 00:08:49,490 --> 00:08:51,810 cd აპირებს, რათა თქვენ დაბრუნება თქვენი საწყისი დირექტორია. 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> ერთ-ერთი ბოლო ერთი. 189 00:08:54,230 --> 00:09:00,200 cd - აპირებს მოუტანს თქვენ უკან ბოლო დირექტორია, რომ თქვენ იყო. 190 00:09:00,200 --> 00:09:04,080 ასე რომ მე უბრალოდ cd'd ორჯერ ზედიზედ, ასე რომ ჩემი ბოლო დირექტორია იყო სახლში დირექტორია. 191 00:09:04,080 --> 00:09:11,520 თუ მე slash bin, და ახლა მოდით წავიდეთ და შევიდა შესახებ. 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 პროფაილი წილი. 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 მოდით წავიდეთ პროფაილი წილი. 196 00:09:15,940 --> 00:09:17,140 ახლა, მე ახლა პროფაილი წილი. 197 00:09:17,140 --> 00:09:19,320 cd -, უკან bin. 198 00:09:19,320 --> 00:09:22,980 ასე რომ ამ იღებს განსაკუთრებით სასარგებლოა როდესაც თქვენ ჰქონდეს და ეს თემა. 199 00:09:22,980 --> 00:09:25,660 ასე რომ, მომხმარებლებს წილი, უკან bin, წილი bin. 200 00:09:25,660 --> 00:09:27,250 >> ასე რომ ამ იღებს სასარგებლო. 201 00:09:27,250 --> 00:09:33,150 თქვენ შეიძლება აღმოჩნდეთ, რომ ბევრი, ბევრი, ბევრი წყობილი დირექტორიები. 202 00:09:33,150 --> 00:09:37,370 და თქვენ მინდა, რომ რამე რეალური სწრაფი ზემოთა ჩამონათვალი. 203 00:09:37,370 --> 00:09:40,330 წასვლა რომ დირექტორია, მიიღოს ცვლილებები და პერსონალის მოსწონს, 204 00:09:40,330 --> 00:09:42,400 და ახლა თქვენ მინდა წასვლა უკან სადაც იყო. 205 00:09:42,400 --> 00:09:43,660 cd -. 206 00:09:43,660 --> 00:09:47,320 მე ყოველთვის იმედგაცრუებული როცა მოხდეს წასვლა 207 00:09:47,320 --> 00:09:49,630 რომ დირექტორია I მინდოდა ამის გაკეთება სამუშაოს. 208 00:09:49,630 --> 00:09:52,670 მე ყოველთვის იმედგაცრუებული, როდესაც მე ეს ორი ნაბიჯი ნაცვლად ერთი ნაბიჯია, 209 00:09:52,670 --> 00:09:55,715 რადგან ეს იმას ნიშნავს, რომ cd - აპირებს მოიყვანოს, რომ შუალედური საიდან 210 00:09:55,715 --> 00:09:57,010 ნაცვლად, სადაც მე მინდა. 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> ასე რომ, ჩვენ ვხედავთ, ყველა სია ფაილი. 213 00:10:01,450 --> 00:10:03,300 ჩვენ ვიცით, თუ როგორ უნდა გარშემო დღემდე. 214 00:10:03,300 --> 00:10:09,900 ასე რომ, ახლა მოდით ვისაუბროთ რედაქტირების ფაილი. 215 00:10:09,900 --> 00:10:18,790 ასე რომ, რა თქმა უნდა, თქვენ თითქმის ყოველთვის მოსალოდნელია, გამოიყენოს gedit. 216 00:10:18,790 --> 00:10:24,410 თუ თქვენ გსურთ, თქვენ შეგიძლიათ მიიღოს შემდეგი ნაბიჯი და დაიწყოს სწავლის ბრძანების ტექსტი 217 00:10:24,410 --> 00:10:25,240 რედაქტორი. 218 00:10:25,240 --> 00:10:27,560 ასე რომ სხვადასხვა ვარიანტები არსებობს. 219 00:10:27,560 --> 00:10:31,760 >> და პირობა, რომ, ალბათ, იქნება შესაბამისი, რომ თქვენ, 220 00:10:31,760 --> 00:10:35,340 ჩვენ Nano, Vim და Emacs. 221 00:10:35,340 --> 00:10:40,196 ასე Nano არის დამწყებთათვის ბრძანების ტექსტი რედაქტორი. 222 00:10:40,196 --> 00:10:42,985 ასე Nano მოდით გაგრძელდება blah.c მე ადრე შექმნილი. 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 ეს მხოლოდ ამ სტანდარტის C ფაილი. 225 00:10:46,480 --> 00:10:51,540 და ხედავთ მთელი bunch პერსონალის მიმდინარეობს ბოლოში ეკრანზე, 226 00:10:51,540 --> 00:10:54,100 და როგორც ჩანს, blah.c შეიცავს ამას C კოდი. 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> ასე რომ, ამ კონკრეტულ რედაქტორი, რასაც ის ამბობს, ქვედა 229 00:11:00,330 --> 00:11:06,290 ახლა ეს caret სიმბოლო, ჩვენ ვხედავთ ამ ^ G, ^ X, ^ O. 230 00:11:06,290 --> 00:11:10,310 ასე რომ, თითქმის ყველა კონტექსტში, რომ ხედავთ, 231 00:11:10,310 --> 00:11:13,530 თქვენ შეიძლება, რომ caret სიმბოლო სხვა ადგილებში შემოსული, Stack Overflow, 232 00:11:13,530 --> 00:11:14,450 რაღაც ამის მსგავსი. 233 00:11:14,450 --> 00:11:16,970 იგი თითქმის ყოველთვის ეხება კონტროლი. 234 00:11:16,970 --> 00:11:21,590 ასე რომ, გასვლა მინდა ამის გაკეთება კონტროლის X. კონტროლის X, ითიშება. 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 და შემიძლია ჩემი arrow ღილაკები გადაადგილება. 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 გაითვალისწინეთ შემიძლია არ აღვნიშნო და დააჭირეთ ადვილად. 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 თქვენ უნდა გამოიყენოთ თქვენი arrow ღილაკები გადაადგილება. 241 00:11:35,010 --> 00:11:36,950 შეიძლება იყოს გარემოში წერტილი და დააჭირეთ. 242 00:11:36,950 --> 00:11:40,000 >> მაგრამ მოდით გარკვეული ცვლილებები. 243 00:11:40,000 --> 00:11:42,100 ახლა კონტროლის X წასვლა გასასვლელი. 244 00:11:42,100 --> 00:11:44,120 ის აპირებს ამბობენ save შეცვლილია ბუფერული. 245 00:11:44,120 --> 00:11:47,900 ახლა სწრაფი, Y ამისთვის კი, n არა. 246 00:11:47,900 --> 00:11:49,900 კონტროლის C გაუქმების. 247 00:11:49,900 --> 00:11:50,780 მე მხოლოდ დადებითია. 248 00:11:50,780 --> 00:11:51,709 ფაილის სახელი დაწერა. 249 00:11:51,709 --> 00:11:53,500 რა არის ფაილი რომ ეს უკვე არის. 250 00:11:53,500 --> 00:11:54,230 დააჭიროთ. 251 00:11:54,230 --> 00:11:54,740 OK. 252 00:11:54,740 --> 00:11:58,580 ახლა მე უბრალოდ რედაქტირებული, რომ ფაილი, გადაარჩინა, და ის არ შეიცვლება. 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> ასე Nano არის იოლი ტექსტური რედაქტორი შეეგუება. 255 00:12:03,000 --> 00:12:05,520 ალტერნატივა Vim და Emacs. 256 00:12:05,520 --> 00:12:11,250 ეს ის მაღალ დონეზე ტექსტის რედაქტორები რომ აქვს ძალიან ციცაბო სასწავლო მრუდი. 257 00:12:11,250 --> 00:12:13,740 ასე რომ, ჩემი პირადი უპირატესობა არის Vim. 258 00:12:13,740 --> 00:12:17,175 და მას აქვს ფართო არჩევანს. 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 და კიდევ შეეგუება ის, რომ თქვენ არასოდეს 261 00:12:24,070 --> 00:12:26,900 მინდა წასვლა ნებისმიერ სხვა ტექსტური რედაქტორი იმიტომ, რომ თქვენ 262 00:12:26,900 --> 00:12:29,590 ძალიან ბევრი რამ ხელმისაწვდომი ამ, 263 00:12:29,590 --> 00:12:31,690 მაგრამ ის ნამდვილად დიდი დრო უნდა ვისწავლოთ. 264 00:12:31,690 --> 00:12:36,000 იქნებ თქვენ უბრალოდ უნდა ვაიძულოთ თავს ახლა შეეგუება ეს, 265 00:12:36,000 --> 00:12:38,130 მაგრამ მე ვიტყოდი, რომ ეს ღირს. 266 00:12:38,130 --> 00:12:39,660 მაგრამ ძნელია. 267 00:12:39,660 --> 00:12:41,220 >> და შემდეგ Emacs. 268 00:12:41,220 --> 00:12:44,940 მე ყოველთვის ბრძოლა Emacs რადგან მე ვიცი, როგორ უნდა გავაკეთოთ აბსოლუტურად არაფერი. 269 00:12:44,940 --> 00:12:47,755 როგორც ჩანს, Emacs არ იყოს დამონტაჟებული მოწყობილობების. 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 შეიძლება დავამატოთ, რომ როგორც default დანადგარები. 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 ერთხელ თქვენ ვისწავლოთ ერთი Vim და Emacs, არსებობს 274 00:13:02,390 --> 00:13:04,810 არსებობს მყარი მიზეზი ოდესმე ვისწავლოთ სხვა, 275 00:13:04,810 --> 00:13:07,570 მაგრამ ეს სრულიად განსხვავებული სტილის. 276 00:13:07,570 --> 00:13:10,460 OK ისე, რომ რედაქტირების ტექსტი ფაილი. 277 00:13:10,460 --> 00:13:13,374 >> აუდიტორია: თუ თქვენ დავრჩებოდით in Vim ახლა, როგორ we-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> რობ Bowden: არსებობს სხვადასხვა რეჟიმები Vim, 280 00:13:20,800 --> 00:13:23,770 და არსებობს მთელი გაკვეთილები სასწავლო Vim. 281 00:13:23,770 --> 00:13:27,390 ასე რომ, თუ თქვენ მოხდეს იქნება ამ ჩანართით რეჟიმში, რათა 282 00:13:27,390 --> 00:13:29,930 ტიპის ტექსტი, რომელიც შეგიძლიათ შეიყვანეთ სხვადასხვა გზით, 283 00:13:29,930 --> 00:13:31,610 მაგრამ, თუ როგორ მოხვდნენ ჩასმა რეჟიმში. 284 00:13:31,610 --> 00:13:34,780 ან გავიდნენ რაიმე სპეციალური რეჟიმი, რომელიც თქვენ, უბრალოდ გაქცევა. 285 00:13:34,780 --> 00:13:37,640 და თქვენ მხოლოდ bash გაქცევა მისაღებად ნებისმიერი წყობილი რეჟიმები თქვენი in. 286 00:13:37,640 --> 00:13:40,360 უბრალოდ OK, ახლა დავბრუნდი ნორმალურ რეჟიმში. 287 00:13:40,360 --> 00:13:43,790 >> და ასე ნორმალურ რეჟიმში, მსხვილი ნაწლავის. 288 00:13:43,790 --> 00:13:45,160 ხედავთ ეს გამოჩნდება ბოლოში. 289 00:13:45,160 --> 00:13:46,240 და შემდეგ ქ. 290 00:13:46,240 --> 00:13:52,600 ასე q დატოვა თუ თქვენ ცვლილებები, რომელიც არ მე არ მაქვს ცვლილებები? 291 00:13:52,600 --> 00:13:54,180 მე არ ცვლილებები ჩანს. 292 00:13:54,180 --> 00:13:57,264 ასე რომ, თუ თქვენ უკვე განხორციელდა ცვლილებები, ის ყველაფერს ამბობენ, რომ თქვენ შეგიძლიათ განათავსოთ ძახილის ნიშნის. 293 00:13:57,264 --> 00:13:58,430 მე ვაპირებ მოვუწოდო მას bang. 294 00:13:58,430 --> 00:14:02,040 ასე რომ, შეგიძლიათ აკრძალვა მხოლოდ დატოვა გარეშე აკეთებს არაფერი, 295 00:14:02,040 --> 00:14:04,520 ან მსხვილი ნაწლავის wq გადაარჩენს და დატოვა. 296 00:14:04,520 --> 00:14:06,580 ასე w ზოგადად დაწერა. 297 00:14:06,580 --> 00:14:08,300 ასე წერენ ფაილი. 298 00:14:08,300 --> 00:14:09,810 შემიძლია წერა და დატოვა. 299 00:14:09,810 --> 00:14:13,606 ან შეიძლება მხოლოდ QX slam, ქ bang მხოლოდ 300 00:14:13,606 --> 00:14:16,230 გავიდნენ იქ, მიუხედავად იმისა, ნებისმიერი ცვლილება, რომ თქვენ გააკეთა. 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> ყველა უფლება, ასე რომ, ახლა მოდით წასვლა შეგვიძლია შევქმნათ ფაილი. 303 00:14:28,940 --> 00:14:30,890 დავიწყოთ მოხსნის ფაილი. 304 00:14:30,890 --> 00:14:35,450 და მე მხოლოდ იმისათვის, რომ ერთი სწრაფი ახალი ბრძანება, შეხება. 305 00:14:35,450 --> 00:14:38,200 ასე რომ შეეხოთ foo. 306 00:14:38,200 --> 00:14:39,340 Touch ბარი. 307 00:14:39,340 --> 00:14:40,220 შეეხოთ baz. 308 00:14:40,220 --> 00:14:42,810 თუ ls, ახლა ჩვენ ვხედავთ, რომ ის ფაილი არსებობს. 309 00:14:42,810 --> 00:14:44,315 ისინი სრულიად ცარიელია. 310 00:14:44,315 --> 00:14:47,178 ასე touch არის უბრალოდ მარტივი გზა ერთი, [INAUDIBLE]. 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 ორი, ტექნიკურად უბრალოდ სახელმწიფო ის, რომ ეს განახლებები timestamps. 313 00:14:54,640 --> 00:14:58,470 ასე რომ, ნებისმიერი ფაილი, რომელიც თქვენ აქვს დროის ნიშნულის მასთან. 314 00:14:58,470 --> 00:15:01,330 ასე baz შეიქმნა 14 სექტემბერს 16:21. 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 ეს არის 16:22, ასე რომ, თუ მე შეხება baz კიდევ ერთხელ, ჩვენ 317 00:15:06,670 --> 00:15:11,420 , რომ baz იყო ყველაზე ცოტა ხნის წინ შეიცვალა 16:22. 318 00:15:11,420 --> 00:15:17,680 მაგრამ სხვაგვარად მე თითქმის არასდროს შევხედოთ timestamps ფაილი. 319 00:15:17,680 --> 00:15:20,490 ასე დაუკავშირდა, აქ მე უბრალოდ გამოყენებით იგი შექმნა რამდენიმე სწრაფი ფაილი. 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> ყველა უფლება, ასე რომ, ახლა rm არის ბრძანება, რომ ჩვენ აღელვებს აქ. 322 00:15:27,400 --> 00:15:28,665 და ჩვენ შეგვიძლია RM boo. 323 00:15:28,665 --> 00:15:31,000 ამბობენ ამოიღონ რეგულარული ცარიელი ფაილი boo. 324 00:15:31,000 --> 00:15:34,070 და ჩვენ შეგვიძლია აკრიფოთ y, და ახლა ის ხსნის. 325 00:15:34,070 --> 00:15:34,850 rm baz. 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 ამოიღონ რეგულარული ცარიელი ფაილი baz და ტიპის n არა. 328 00:15:38,620 --> 00:15:40,060 ახლა ის არ მოიხსნება. 329 00:15:40,060 --> 00:15:41,240 ასე ბარი და baz ჯერ კიდევ არსებობს. 330 00:15:41,240 --> 00:15:42,232 Foo გაქრა. 331 00:15:42,232 --> 00:15:43,148 GABRIEL: განვაგრძოთ საუბარი. 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 რობ Bowden: დიდი. 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 ასე შემაშფოთებელი გაგზავნა აქ, ამოიღონ რეგულარული empty-- 336 00:15:50,370 --> 00:15:52,390 რას აკეთებთ ქვემოთ იქ? 337 00:15:52,390 --> 00:15:54,030 ამოიღონ რეგულარული ცარიელი ფაილი. 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 ასე რომ, თუ ჩვენ არ გვინდა, რომ იყოს აწუხებს, რომ გაგზავნა, 340 00:16:01,610 --> 00:16:05,340 ჩვენ შეგვიძლია სახიფათოა ამ -f დროშა, და ასე რომ ძალა. 341 00:16:05,340 --> 00:16:11,330 და ახლა თუ მე RM -f, ის არ აპირებს ამბობენ არ გსურთ ამოიღონ ფაილი. 342 00:16:11,330 --> 00:16:12,040 ეს უბრალოდ ამის გაკეთება. 343 00:16:12,040 --> 00:16:13,720 და ls, მე ვერ ვხედავ, ბარი, იქ აღარ. 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> ახლა არის პოტენციურად საშიში ბრძანება. 346 00:16:18,021 --> 00:16:19,020 ეს ტენდენცია არ არის ძალიან ცუდი. 347 00:16:19,020 --> 00:16:22,240 ჩვენ დავბრუნდებით მეორე, როგორ მას შეუძლია მიიღოს მართლაც საშიშია. 348 00:16:22,240 --> 00:16:28,740 და მოდით შევქმნათ გარკვეული temp დირექტორია. 349 00:16:28,740 --> 00:16:30,880 mkdir, კიდევ ერთი ბრძანება. 350 00:16:30,880 --> 00:16:34,880 ასე mkdir ბრძანება , რაც დირექტორია. 351 00:16:34,880 --> 00:16:40,650 და ახლა ls ჩვენ ვხედავთ ამ ლამაზი სინათლის ლურჯი ხაზი გაუსვა temp დირექტორია. 352 00:16:40,650 --> 00:16:42,295 შემიძლია CD შევიდა temp. 353 00:16:42,295 --> 00:16:44,590 და შემიძლია mkdir foo. 354 00:16:44,590 --> 00:16:46,330 CD შევიდა foo. mkdir ბარი. 355 00:16:46,330 --> 00:16:46,860 CD შევიდა ბარი. 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> ასე რომ, ჩვენ ვხედავთ, რომ ჩვენ შეიძლება ადვილად მიიღოს ზოგიერთი საკმაოდ ღრმა nesting. 358 00:16:54,300 --> 00:16:56,385 ახლა როგორ მოვაშორო დირექტორია? 359 00:16:56,385 --> 00:16:57,020 360 00:16:57,020 --> 00:16:57,520 rmdir. 361 00:16:57,520 --> 00:16:59,030 362 00:16:59,030 --> 00:17:03,540 ასე რომ, თუ მხოლოდ სწორი ცდილობენ rm, ისე, როგორც რეგულარული ფაილი, 363 00:17:03,540 --> 00:17:06,420 rm ბარი აპირებს ამბობენ, რომ არ ამოიღონ ბარი. 364 00:17:06,420 --> 00:17:07,569 ეს არის ჩამონათვალი. 365 00:17:07,569 --> 00:17:10,619 არსებობს სპეციალური ბრძანება მოხსნის დირექტორიების, სახის. 366 00:17:10,619 --> 00:17:12,900 ასე rmdir ბარი. 367 00:17:12,900 --> 00:17:13,710 ახლა ბარი გაქრა. 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> OK, ასე რომ rmdir მე საკმაოდ ბევრი არასდროს არ გამოიყენოთ. 370 00:17:22,680 --> 00:17:32,220 მიზეზი being-- ახლა მოდით მიიღოს რეგულარული ფაილი ბარი აქ. 371 00:17:32,220 --> 00:17:34,780 ასე rmdir boo. 372 00:17:34,780 --> 00:17:35,760 rmdir. 373 00:17:35,760 --> 00:17:36,900 წაშლა ვერ მოხერხდა foo. 374 00:17:36,900 --> 00:17:38,420 დირექტორია არ ცარიელი. 375 00:17:38,420 --> 00:17:43,420 ასე რომ თქვენ არ გამოიყენოთ წაშლა რეჟ შესახებ მომსახურება რომ აქვს რამ იგი. 376 00:17:43,420 --> 00:17:44,830 >> ასე რომ თქვენ გაქვთ რამდენიმე ვარიანტი. 377 00:17:44,830 --> 00:17:49,780 თქვენ შეგიძლიათ შეხვიდეთ, რომ დირექტორია, ამოიღონ ყველაფერი ხელით და შემდეგ გამოვა 378 00:17:49,780 --> 00:17:51,759 და rmdir დირექტორია. 379 00:17:51,759 --> 00:17:53,050 რომ აშკარად ჟღერს შემაშფოთებელი. 380 00:17:53,050 --> 00:17:55,000 რა მოხდება, თუ არსებობს ათასობით ფაილი არსებობს? 381 00:17:55,000 --> 00:17:58,119 ასევე, შეიძლება RM *. 382 00:17:58,119 --> 00:17:59,410 ჩვენ ვსაუბრობთ * მეორე. 383 00:17:59,410 --> 00:18:00,870 ეს ნიშნავს იმას, რომ ყველა რამ. 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 მაგრამ უკეთესი არ არის, ამიტომ rm -r. 386 00:18:05,470 --> 00:18:10,220 ასე rm -r-- ბევრი კონტექსტში, -r ნიშნავს რეკურსიული, 387 00:18:10,220 --> 00:18:13,810 რომელიც ჩვენ ვსაუბრობთ იმაზე, თუ რა რეკურსიული საშუალება რამდენიმე კვირის განმავლობაში. 388 00:18:13,810 --> 00:18:18,630 მაგრამ ეს ნიშნავს იმას, ტრავერსზე მთლიანად ამ ჩამონათვალი 389 00:18:18,630 --> 00:18:20,190 და ამოიღონ ყველაფერი. 390 00:18:20,190 --> 00:18:24,420 >> ასე rm -r foo თქმას წარმოშობის შევიდა დირექტორია foo? 391 00:18:24,420 --> 00:18:25,210 დიახ. 392 00:18:25,210 --> 00:18:26,800 ამოიღონ რეგულარული ცარიელი ფაილი foo / ბარი? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 დიახ. 395 00:18:28,540 --> 00:18:29,760 ამოიღონ დირექტორია foo? 396 00:18:29,760 --> 00:18:30,260 დიახ. 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 ასე რომ, ახლა foo და ყველაფერი მასში უკვე ამოღებულია. 399 00:18:35,020 --> 00:18:42,370 >> ახლა, რომ შეგიძლიათ მიიღოთ განსაკუთრებით შემაშფოთებელი when-- შევეხოთ 1, შეეხოთ 2, შეეხოთ 3. 400 00:18:42,370 --> 00:18:44,400 შეეძლო მთელი bunch ფაილი. 401 00:18:44,400 --> 00:18:49,060 თუ მინდოდა, მე ვერ შექმნა ათასობით ფაილი აქ. 402 00:18:49,060 --> 00:18:53,340 და rm -r foo აპირებს საკმაოდ შემაშფოთებელი. 403 00:18:53,340 --> 00:18:55,374 დიახ, დიახ, დიახ, დიახ, დიახ, დიახ. 404 00:18:55,374 --> 00:18:57,540 გაცილებით მეტი ფაილი სწრაფად ხედავთ რამდენჯერ 405 00:18:57,540 --> 00:18:58,581 მე უნდა აკრიფოთ დიახ. 406 00:18:58,581 --> 00:19:02,265 ასევე, ჩვენ უბრალოდ დაინახა ადრე როგორ შეგვიძლია მოშორება სჭირდება, რომ ჩაწერეთ დიახ, ვ. 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 ასე mkdir foo cd foo touch 1 2 3. 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 OK, ასე რომ, rm -rf foo აპირებს ბრმად ამოიღონ foo მთლიანად. 411 00:19:17,190 --> 00:19:17,960 არ ზოლზე. 412 00:19:17,960 --> 00:19:18,650 არ არაფერი. 413 00:19:18,650 --> 00:19:20,040 Foo გაქრა. 414 00:19:20,040 --> 00:19:23,830 >> ასე რომ, მე, როგორც წესი, გამოიყენოთ ეს ბრძანება ყველა დროის. 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 რომ განაცხადა, ეს არის ძალიან საშიში ბრძანება, 417 00:19:27,830 --> 00:19:33,240 იმიტომ, რომ თუ რაღაც მოსწონს ეს, ეს არ შეგახსენებთ. 418 00:19:33,240 --> 00:19:34,730 იქნება წასული. 419 00:19:34,730 --> 00:19:40,140 და ეს ხდება საკმაოდ ხშირად, და კიდევ უფრო მაღალ დონეზე CS კურსები. 420 00:19:40,140 --> 00:19:42,070 ზოგჯერ ჩვენ ვხედავთ, რაღაც, სადაც ვინმე 421 00:19:42,070 --> 00:19:48,360 ამბობს, რომ მე შემთხვევით ჩვენი rm rf-ed ჩემს სახლში მომსახურება და ყველა ჩემი P კომპლექტი გაქრა. 422 00:19:48,360 --> 00:19:52,422 და ეს დამანგრეველი, მაგრამ იქ არ არის ნაგვის შეიძლება. 423 00:19:52,422 --> 00:19:54,380 არ არსებობს იქ არაფერი თქვენ ვიღებ. 424 00:19:54,380 --> 00:19:55,330 უბრალოდ გაქრა. 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 კიდევ უფრო უარესი იქნება რაღაც მსგავსი rm -rf /. 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 ასე რომ, ჩვენ განვიხილეთ რომ root დირექტორია. 429 00:20:01,140 --> 00:20:03,095 ის ფლობს ყველა ფაილი თქვენი სისტემის. 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 რამ წესი, საკმაოდ რთული როდესაც თქვენ ამოიღონ რამ, როგორიცაა ls 432 00:20:07,380 --> 00:20:10,280 და CD და ყველა იმ. 433 00:20:10,280 --> 00:20:15,467 >> აუდიტორია: რა არის განსხვავება შორის rm, rf და rm * 434 00:20:15,467 --> 00:20:16,300 რობ Bowden: ასე rm * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> ALLISON: კითხვა იყო, თუ რა არის განსხვავება rm, rf და rm *. 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> რობ Bowden: ასე rm *. 439 00:20:25,950 --> 00:20:31,910 Star ზოგადად ნიშნავს ყველა შინაარსი ამ დირექტორიაში. 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 ცდილობს ვფიქრობ სხვა გზები ნაჩვენებია ვარსკვლავი. 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 ასევე, ვარსკვლავი, ფაქტობრივად, საერთოდ, ნიშნავს ემთხვევა ნებისმიერი ნიმუში. 444 00:20:44,780 --> 00:20:54,930 ასე რომ, თუ მე მაქვს ფაილი სახელად dog1, შეეხოთ dog2, შეეხოთ Cat1, შეეხოთ Cat2. 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 ამიტომ ls * 1 აპირებს ბეჭდვა Cat1 და dog1, იმიტომ, რომ ვარსკვლავი შეიძლება იყოს შევსებული 447 00:21:02,110 --> 00:21:06,270 in with-- ერთი უნდა იყოს იქ, მაგრამ ვარსკვლავი შეიძლება იყოს კატა ან ძაღლი. 448 00:21:06,270 --> 00:21:07,247 ეს ველური ბარათი. 449 00:21:07,247 --> 00:21:08,580 სწორედ სიტყვა ვეძებ. 450 00:21:08,580 --> 00:21:09,120 ველური ბარათი. 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 ან მე ვერ LS ძაღლი * და მე მივიღე, რომ ნახოთ dog1, dog2. 453 00:21:13,960 --> 00:21:16,870 ასე რომ იმ მომსახურების ფაილები რომელიც ემთხვევა, რომ კონკრეტული ნიმუში. 454 00:21:16,870 --> 00:21:18,150 თქვენ შეგიძლიათ გამოიყენოთ ls ამ გზით. 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Ls * ვარსკვლავი შეესაბამება არაფერი. 457 00:21:22,020 --> 00:21:25,710 ასე რომ, ის აპირებს ბეჭდვა ყველა შინაარსი ამ დირექტორიაში 458 00:21:25,710 --> 00:21:27,290 მას შემდეგ, რაც ყველა მათგანი ემთხვევა. 459 00:21:27,290 --> 00:21:30,130 ის არ აპირებს ბეჭდვა არაფერი ზედა დონეზე დირექტორიები. 460 00:21:30,130 --> 00:21:38,680 თუ მაქვს sub დირექტორია, foo, და შეეხოთ 1 2 -3 ასე რომ, ახლა თუ rm * ვარსკვლავი, 461 00:21:38,680 --> 00:21:41,450 ამოიღონ Cat1, Cat2, dog1, dog2. 462 00:21:41,450 --> 00:21:42,340 ვერ ამოიღონ foo. 463 00:21:42,340 --> 00:21:43,090 ეს არის ჩამონათვალი. 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> ასე ვარსკვლავი აფართოებს ყველა ფაილი დირექტორია. 466 00:21:50,340 --> 00:21:55,210 ასე რომ ტექნიკურად rm * ჰგავს ამბობდა rm Cat1, Cat2, dog1, dog2, foo. 467 00:21:55,210 --> 00:22:03,630 იმის გამო, rm -rf, ტექნიკურად ვარსკვლავი მიზნის მისაღწევად, რაც ჩვენ გვინდა, მაგრამ rm -rf-- 468 00:22:03,630 --> 00:22:06,090 თუ გავალ ამ დირექტორია, rm -rf temp, 469 00:22:06,090 --> 00:22:08,890 რომ აპირებს წასვლას დროებითი და რეკურსიული ამოიღონ ყველაფერი. 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> ასე ვარსკვლავი ცალკე, რომ გასაგებია by-- ეს რაღაც 472 00:22:21,060 --> 00:22:25,090 რომ მე გაშვებული, ეს ის რომ მკარნახობდა ბრძანებები 473 00:22:25,090 --> 00:22:28,770 და შემდეგ შესრულებაში და აკეთებს მათ, მოვუწოდებ ამ ჩემი ჭურვი. 474 00:22:28,770 --> 00:22:31,930 ასე რომ, ეს ჭურვი თავად პროგრამა. 475 00:22:31,930 --> 00:22:35,010 და თუ მინდოდა, მე შეიძლება აწარმოებს / bin / bash. 476 00:22:35,010 --> 00:22:36,930 ჭურვი ეწოდება bash. 477 00:22:36,930 --> 00:22:39,340 და ახლა ჩვენ შეამჩნევთ რაიმე ოდნავ შეიცვალა, 478 00:22:39,340 --> 00:22:42,200 და ეს იმიტომ, რომ ჩემი პარამეტრების ჭურვი განსხვავებული. 479 00:22:42,200 --> 00:22:45,415 >> მაგრამ ახლა მე ტექნიკურად გაშვებული ჭურვი ჩემს ორიგინალური shell, 480 00:22:45,415 --> 00:22:49,570 და შემიძლია გასვლა, რომ ჭურვი, და ახლა დავბრუნდი ჩემს ზედა დონის shell. 481 00:22:49,570 --> 00:22:55,240 მიზნით ამბობდა , რომ არის ვარსკვლავი. 482 00:22:55,240 --> 00:22:59,020 ასე რომ ვარსკვლავი არის ის, გაიგეს bash. 483 00:22:59,020 --> 00:23:04,260 ასე rm -rf, -rf დროშა მიხვდა, უბრალოდ rm. 484 00:23:04,260 --> 00:23:06,380 იგი დარწმუნებულია, რომ, როდესაც თქვენ გაივლის -rf, რომ თქვენ 485 00:23:06,380 --> 00:23:09,520 მინდა, რომ რეკურსიული წაშლა ყველა ფაილი გარეშე სულის კარნახის შესაბამისად. 486 00:23:09,520 --> 00:23:13,960 ვარსკვლავი რაღაც ესმოდა მიერ bash, რომ როცა ამბობენ rm * 487 00:23:13,960 --> 00:23:16,890 bash არ აპირებს ამბობენ hey rm *, ამოიღონ ვარსკვლავი. 488 00:23:16,890 --> 00:23:21,010 Bash თქმას rm * ამოიღონ Cat1, Cat2, dog1, dog2. 489 00:23:21,010 --> 00:23:24,305 ეს ავტომატურად აპირებს გაფართოებას ყველა ფაილი დირექტორია. 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> და ანალოგიურად tilde არის კიდევ ერთი სიმბოლო, რომელიც bash ესმის. 492 00:23:33,140 --> 00:23:37,130 როცა ამბობენ, რომ cd ~, bash აფართოებს რომ თქვენი სახლის დირექტორია. 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 სხვა კითხვები აქამდე? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 OK, ასე რომ, ჩვენ ვაპირებთ დავიწყოთ აპირებს სწრაფად. 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> Tab დასრულების. 499 00:23:48,545 --> 00:23:49,670 მხოლოდ იმისათვის, რომ იგი არსებობს. 500 00:23:49,670 --> 00:23:51,530 ბევრი ადამიანი არ გააცნობიეროს, რომ ეს არ არსებობს. 501 00:23:51,530 --> 00:23:55,060 ასე რომ, თუ I ტიპის CD dow, I მინდა წასვლა ჩამოტვირთვების. 502 00:23:55,060 --> 00:23:56,700 მე არ უნდა აკრიფოთ nloads. 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 შემიძლია უბრალოდ მოხვდა Tab. 505 00:24:00,770 --> 00:24:03,794 ასე რომ, აღიარებს, რომ dow არის პრეფიქსი, რომ 506 00:24:03,794 --> 00:24:05,710 არ ემთხვევა არაფერი სხვა ამ დირექტორიაში, 507 00:24:05,710 --> 00:24:07,520 ასე რომ დაასრულებს, რომ თქვენ. 508 00:24:07,520 --> 00:24:08,610 ახლა შემიძლია შევა. 509 00:24:08,610 --> 00:24:10,110 >> მე ასევე, რომ რეკურსიული. 510 00:24:10,110 --> 00:24:11,205 ასე mkdir foo. 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 მოდით წასვლას foo. 513 00:24:13,300 --> 00:24:14,830 mkdir ბარი. 514 00:24:14,830 --> 00:24:17,345 ასე ბრუნდება ჩემს სახლში კატალოგი, მე ვხედავ ჩამოტვირთვების. 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 ახლა დარტყმის tab ერთხელ, ავტომატურად აპირებს შეავსოთ foo. 517 00:24:21,860 --> 00:24:22,880 ეს მხოლოდ დირექტორია. 518 00:24:22,880 --> 00:24:25,340 დარტყმის tab ერთხელ, ავტომატურად აპირებს შეავსოთ ბარი. 519 00:24:25,340 --> 00:24:26,798 ასე რომ, ახლა მე (~ Downloads / foo / ბარი). 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> ასე რომ, ეს tab დასრულების შემდეგ, როდესაც მე მივიღე სამუშაო საათებში, 522 00:24:31,692 --> 00:24:33,400 და მე იდგა ვინმეს უნდა, 523 00:24:33,400 --> 00:24:40,470 და ისინი აპირებენ rm D-O-W-N-L-O-A-D-S, მე კვდება. 524 00:24:40,470 --> 00:24:41,990 უბრალოდ tab, tab, tab, tab. 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 ასე რომ, ნამდვილად გამოიყენება tab. 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 და ანალოგიურად და ქვემოთ, ბევრი ადამიანი 529 00:24:49,840 --> 00:24:51,930 მხოლოდ ის, რომ მოხდა არასდროს არ მოხვდა up და down. 530 00:24:51,930 --> 00:24:54,870 ის გავლა წინა ბრძანებები, ასე რომ, თუ გაიქცა რაღაც, 531 00:24:54,870 --> 00:24:58,300 და გსურთ გაუშვით ერთხელ, უბრალოდ გამართავს up წლამდე თქვენ მიიღოს იგი. 532 00:24:58,300 --> 00:24:59,870 533 00:24:59,870 --> 00:25:00,370 OK. 534 00:25:00,370 --> 00:25:01,460 535 00:25:01,460 --> 00:25:03,585 >> იმდენად სწრაფი, სხვა რამ. 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 მოდით დავუბრუნდეთ temp. 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 მოდით შევქმნათ რამდენიმე ფაილი. 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 ასე, მე მხოლოდ აპირებს ჩამოვთვალოთ რამდენიმე სიტყვა. 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 ძაღლი, კატა, meow. 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 მოდით ძაღლი, თევზი. 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 ასე რომ, ახლა rep არის ძალიან სასარგებლო ბრძანებები, 548 00:25:32,320 --> 00:25:37,820 გამოიყენოთ მოძებნოთ მთელი ფაილი კონკრეტული ტექსტი, 549 00:25:37,820 --> 00:25:40,910 და ტექნიკურად შეგიძლიათ ნამდვილად კომპლექსის გამოვლინება, რომ ეს ემთხვევა. 550 00:25:40,910 --> 00:25:44,830 >> ასე რომ, თუ მე grep, და რა არ მინდა, რომ მოძებნოთ? 551 00:25:44,830 --> 00:25:49,130 ვთქვათ, მე ვარ ეძებს კატა, და მინდა ვეძებოთ ყველა ეს ფაილი. 552 00:25:49,130 --> 00:25:50,650 ასე რომ, მე ყველა ეს ფაილი? 553 00:25:50,650 --> 00:25:51,900 Star. 554 00:25:51,900 --> 00:25:54,939 ასე რომ, ფაილი ერთი, მე მაქვს კატა. 555 00:25:54,939 --> 00:25:56,980 მე ალბათ შეეძლო უწოდა რაღაც უკეთესი, 556 00:25:56,980 --> 00:25:59,063 იმიტომ, რომ ჰგავს ხაზის ნომრები ან რამე. 557 00:25:59,063 --> 00:26:01,590 მაგრამ ფაილი მაქვს შეესაბამება კატა. 558 00:26:01,590 --> 00:26:04,160 ფაილი ორი მაქვს ხაზი კატა. 559 00:26:04,160 --> 00:26:07,280 ახლა შემიძლია შიგნიდან ფაილი ერთი და იხილეთ oh yeah, რომ ფაილი არ აქვს cat. 560 00:26:07,280 --> 00:26:10,210 განაცხადის ფაილი სამი არ იყო შესაბამისი იმის გამო, რომ კატა არ არსებობს. 561 00:26:10,210 --> 00:26:13,882 შემიძლია grep for meow. 562 00:26:13,882 --> 00:26:14,840 მხოლოდ წარადგინოს ორი აქვს meow. 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> ასე რომ, ეს თქვენ შეგიძლიათ დააკავშიროთ, კიდევ ერთხელ ს, რომელიც 565 00:26:20,640 --> 00:26:23,580 როგორც ვთქვი ხშირად ნიშნავს რეკურსიული. 566 00:26:23,580 --> 00:26:29,800 და ასე, რომ შეიძლება ამუშავება, grep -r ნებისმიერი მაგალითად of-- შეცვალონ 567 00:26:29,800 --> 00:26:32,010 ეს ერთი მხოლოდ იმისათვის, რომ კატა იქ. 568 00:26:32,010 --> 00:26:38,800 ასე grep -r ნებისმიერი ინსტანციის კატა მთელ ამ დირექტორია. 569 00:26:38,800 --> 00:26:41,600 და ეს რეკურსიული ძებნის ნებისმიერი subdirectories. 570 00:26:41,600 --> 00:26:43,940 ასე რომ, baz, იქ კატა. 571 00:26:43,940 --> 00:26:45,570 დროებითი / 2, იქ კატა. 572 00:26:45,570 --> 00:26:47,960 და temp / 1 არ არის კატა. 573 00:26:47,960 --> 00:26:50,045 ისე, რომ ძიების ფარგლებში ფაილი. 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> ახლა თქვენ შეგიძლიათ გამოიყენოთ იპოვოს. 576 00:26:55,090 --> 00:26:59,640 და ასე ის არის, კონკრეტულად ეძებს ფაილი მოცემული სახელით. 577 00:26:59,640 --> 00:27:02,490 მოდით კიდევ რამდენიმე. 578 00:27:02,490 --> 00:27:03,660 მოდით წასვლას ჩამოტვირთვების. 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 შეეხოთ dog1. 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 შეეხოთ Cat2. 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 შეეხოთ cat_dog. 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 შეეხოთ catcat. 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> ამიტომ, მე მინდა, რომ იპოვოთ ყველა ფაილი ძაღლი სახელით. 589 00:27:23,810 --> 00:27:28,060 ასე რომ, ხოლო ყველაზე დროს მე არ გახსენებია 590 00:27:28,060 --> 00:27:33,760 როგორ მოვძებნოთ მუშაობდა, სანამ საბოლოოდ წავიკითხე რაღაც, რამაც ასე ნათელია. 591 00:27:33,760 --> 00:27:35,784 ასე რომ, ავტომატურად რეკურსიული. 592 00:27:35,784 --> 00:27:36,950 თქვენ არ უნდა გაიაროს -r. 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 ასე რომ, dot. 595 00:27:39,110 --> 00:27:40,750 ჩვენ არ ისაუბრა dot ამჟამად. 596 00:27:40,750 --> 00:27:44,800 იმის გამო, რომ dot dot ყოველთვის ნიშნავს, რომ ერთი დირექტორია up. 597 00:27:44,800 --> 00:27:46,960 Dot ყოველთვის ნიშნავს მიმდინარე დირექტორია. 598 00:27:46,960 --> 00:27:51,390 ასე რომ მე ვერ RM -r dot წელს ანალოგიურად შემიძლია RM -rf *. 599 00:27:51,390 --> 00:27:53,140 საბოლოო ჯამში, ისინი მიზნის მისაღწევად იგივე. 600 00:27:53,140 --> 00:27:56,040 rm -rf dot აპირებს ამოიღონ მთელი მიმდინარე დირექტორია. 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> OK, რომელიც მე არ გსურთ იქ. 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 მაგრამ იპოვოს dot. 605 00:28:04,320 --> 00:28:07,920 ასე რეკურსიული ძიება მიმდინარე დირექტორია და ახლა ყველაფერი 606 00:28:07,920 --> 00:28:14,125 ამის შემდეგ რამოდენიმე დროშებით, რომ თქვენ გამოყენება, რათა გამოირიცხოს რამ დაბრუნებას. 607 00:28:14,125 --> 00:28:17,250 ასე რომ, dot დააბრუნებს ყველაფერს, რომ ეს შეგიძლიათ მიმდინარე დირექტორია. 608 00:28:17,250 --> 00:28:19,700 ეს არის ყველა ფაილი რეკურსიული ძებნას. 609 00:28:19,700 --> 00:28:21,250 ჩვენ დავინახავთ, ზოგიერთი იმ მეორე. 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> მაგრამ იმ შემთხვევაში თუ თქვენ გაინტერესებთ, როგორ გავაკეთო რომ, ასე Command K, სულ მცირე, 612 00:28:27,140 --> 00:28:29,660 ჩემი ტერმინალის Mac გაასუფთავებს მას. 613 00:28:29,660 --> 00:28:34,660 კონტროლის L ზოგადად აუმჯობესებს ის ნებისმიერ ტერმინალში. 614 00:28:34,660 --> 00:28:36,480 ასევე შეგიძლიათ აკრიფოთ წმინდა. 615 00:28:36,480 --> 00:28:38,410 და თუ ოდესმე კიდევ შევიდა უცნაური scenario-- 616 00:28:38,410 --> 00:28:42,790 ეს მოხდა ჩემთან რამდენიმე time-- სადაც ფერები თქვენი მოთხოვნა 617 00:28:42,790 --> 00:28:46,590 ყველა არევა, ან ვერ ვხედავ რაიმე 618 00:28:46,590 --> 00:28:51,232 მიმდინარეობს აკრეფილი, როდესაც თქვენ აკრეფით, რადგან ზოგჯერ, როგორც ფონის ფერი არის 619 00:28:51,232 --> 00:28:53,940 იგივე, რაც წინა პლანზე ფერი და ახლა თქვენ ვერ ხედავთ შრიფტები. 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 გადატვირთვა რაღაც რომ რესეტი თქვენ ძირითადად შავ ფონზე, 622 00:28:59,830 --> 00:29:01,840 თეთრი წინ, ან რასაც თქვენ მითითებული მათ. 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> ასე რომ, სად ვიყავით? 625 00:29:04,790 --> 00:29:05,930 ს dot. 626 00:29:05,930 --> 00:29:09,360 ასე რომ ახლა ყველაფერი წარსულში წერტილი ზღუდავს შედეგები 627 00:29:09,360 --> 00:29:11,450 რაღაც, რომელიც შეესაბამება მოცემული ნიმუში. 628 00:29:11,450 --> 00:29:16,110 ასე რომ, აქ მინდა ძიება ყველაფერი სახელი cat. 629 00:29:16,110 --> 00:29:17,300 მე არაფერი. 630 00:29:17,300 --> 00:29:18,390 რატომ არის, რომ საქმე? 631 00:29:18,390 --> 00:29:21,230 ისე, მე უბრალოდ ეძებს რაღაც ზუსტად სახელი cat. 632 00:29:21,230 --> 00:29:25,150 თუ მინდა მოვძებნო რამე რომელიც რამდენიმე ნიმუში, და cat-- 633 00:29:25,150 --> 00:29:28,890 შეთავაზებები ტექნიკურად არ არის საჭირო, მაგრამ მე სროლა მათ იქ. 634 00:29:28,890 --> 00:29:32,720 ასე რომ, ახლა ის პოულობს catcat რადგან ეს არის ერთადერთი რამ, რომ 635 00:29:32,720 --> 00:29:36,040 აქვს რამდენიმე თვითნებური ნიმუში მოჰყვა კატა. 636 00:29:36,040 --> 00:29:41,950 შემიძლია დააყენა კატა * და ახლა მოვძებნოთ catcat, cat_dog, Cat2, 637 00:29:41,950 --> 00:29:45,245 იმის გამო, რომ ამ ყველაფერს კატა დასაწყისში მოჰყვა არაფერი. 638 00:29:45,245 --> 00:29:46,120 თქვენ შეგიძლიათ დააკავშიროთ ეს. 639 00:29:46,120 --> 00:29:50,480 თუ გსურთ მოძებნოთ ყველა C ფაილი რომ თქვენ გაქვთ, თქვენ ალბათ * გ. 640 00:29:50,480 --> 00:29:51,960 ჩვენ blah.c აქ. 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 ასე რომ, მოვძებნოთ სამუშაოები. 643 00:29:55,020 --> 00:29:55,770 თქვენ შეგიძლიათ მოძებნოთ. 644 00:29:55,770 --> 00:29:58,270 მას მთელი bunch of დროშები დამატებითი შეზღუდვა. 645 00:29:58,270 --> 00:30:00,960 და ერთი მათგანი, ვთქვათ, დ. 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 ასე უარყოფილია. 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 ოჰ, ეს არ არის ის რაც მე მინდა. 650 00:30:06,550 --> 00:30:07,730 არ -დ. 651 00:30:07,730 --> 00:30:08,860 ტიპი დ. 652 00:30:08,860 --> 00:30:13,820 ასე რომ, dot - ტიპის დ. 653 00:30:13,820 --> 00:30:17,760 მერე რა, რომ უბრალოდ გააკეთეს, რომ მე ეძებს ყველა ფაილი მიმდინარე დირექტორიაში 654 00:30:17,760 --> 00:30:21,680 ერთად a-- d დგას დირექტორიაში ჩამონათვალი ტიპის. 655 00:30:21,680 --> 00:30:24,430 ეს დააბრუნებს ყველა დირექტორიები მიმდინარე დირექტორია. 656 00:30:24,430 --> 00:30:27,670 და ტიპის F არის რეგულარული ფაილი, ყველა არასამთავრობო დირექტორიები. 657 00:30:27,670 --> 00:30:29,809 ასე რომ მხოლოდ მაგალითად, სხვა გზა 658 00:30:29,809 --> 00:30:32,350 შეიძლება შეზღუდოს ძებნის სხვა მეტი, ვიდრე უბრალოდ სახელი ფაილი. 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> ეს იყო 30-ე წუთზე. 661 00:30:35,570 --> 00:30:36,848 ჯერ კიდევ მიმდინარეობს. 662 00:30:36,848 --> 00:30:38,132 >> ALLISON: მე ნიავი მეშვეობით. 663 00:30:38,132 --> 00:30:39,670 ეს იქნება ჯარიმა. 664 00:30:39,670 --> 00:30:41,460 >> რობ Bowden: ასე რომ სხვა რამ. 665 00:30:41,460 --> 00:30:45,700 ახლა bang, ძახილის ნიშნით. 666 00:30:45,700 --> 00:30:50,530 ასე რომ, როგორც წესი, იმას ნიშნავს კარგად, ვნახოთ ერთი მაგალითი. 667 00:30:50,530 --> 00:30:52,230 ასე რომ, f, რა არის, რომ აპირებს? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 კარგად ეს, როგორც ჩანს, განმეორებითი იპოვოს dot ტიპის ვ. 670 00:30:57,810 --> 00:30:59,240 რა შეიძლება ითქვას, გ? 671 00:30:59,240 --> 00:31:00,760 რომ მხოლოდ grep -r კატა *. 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 ასე bang შეგიძლიათ გამოიყენოთ გავიმეორო ცოტა ხნის წინ გაკეთდა ბრძანება. 674 00:31:05,720 --> 00:31:13,280 ასე რომ, თუ მე აკრიფოთ, gre, ის აპირებს ხელახლა აწარმოებს ბრძანებები, დაიწყო gre ყველაზე 675 00:31:13,280 --> 00:31:14,060 ცოტა ხნის წინ. 676 00:31:14,060 --> 00:31:17,090 >> და თქვენ ხედავთ, ყველა ეს ბრძანებები ისტორია. 677 00:31:17,090 --> 00:31:17,880 ასე ისტორიაში. 678 00:31:17,880 --> 00:31:19,630 ეს არის ყველა ბრძანებები მე აწარმოებს დღეს. 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 და კარგად, ეს არ არის სიტყვასიტყვით შეზღუდული დღეს 681 00:31:23,130 --> 00:31:25,180 მაგრამ მე გამოიყენება მხოლოდ ამ ელექტრო, როგორც დღეს. 682 00:31:25,180 --> 00:31:28,730 ეს არის თქვენი მთლიანად ისტორია თქვენი bash shell, 683 00:31:28,730 --> 00:31:30,433 გარდა ამისა, ეს ჩამოაჭრა რაღაც მომენტში. 684 00:31:30,433 --> 00:31:33,474 აუდიტორია: რა მოხდება თუ ისტორია [INAUDIBLE] ბრძანება და შეცდომა 685 00:31:33,474 --> 00:31:35,430 შედეგად კვლავ ბეჭდვა the-- 686 00:31:35,430 --> 00:31:44,110 >> რობ Bowden: ჰო, თუ არ არის შეცდომა ერთი ასეთი commands-- 687 00:31:44,110 --> 00:31:48,090 ასე ვთქვათ, რომ ეს შეცდომა ბრძანება არ არის ნაპოვნი. 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 ჯერ კიდევ, როგორც ჩანს, ისტორიაში. 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 ყველა უფლება. 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 სხვა კითხვები არაფერი? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 ასე რომ, ეს bang. 696 00:32:00,300 --> 00:32:04,230 >> ახლა, მართლაც სასარგებლო ბრძანება, კაცი. 697 00:32:04,230 --> 00:32:07,750 ასე რომ, გაძლევთ სახელმძღვანელო მოცემული ბრძანება. 698 00:32:07,750 --> 00:32:11,640 ასე ვთქვათ ადამიანი ls, ასე ეს გვიჩვენებს, ls. 699 00:32:11,640 --> 00:32:13,400 ჩამოთვლილია დირექტორია შინაარსი. 700 00:32:13,400 --> 00:32:17,150 და ეს არის, სადაც მე ვხედავ, რომ არის ეს სხვადასხვა დროშებით, რომ არსებობს. 701 00:32:17,150 --> 00:32:21,340 ასე რომ, ჩვენ ვხედავთ, რომ ls-l არსებობს თუ ჩვენ უნდა წაიკითხოთ, რომ. ls-l 702 00:32:21,340 --> 00:32:26,150 მაძლევს ეს სრული ჩამონათვალი დირექტორია, რომელიც ფლობს ფაილი, 703 00:32:26,150 --> 00:32:29,750 ზომა ფაილი, შეცვლილია დრო. 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 ამიტომ ls -a არის კიდევ ერთი, რომ თქვენ შეიძლება რეალურად გამოიყენოს გარკვეულწილად ხშირად. 706 00:32:34,980 --> 00:32:38,130 -al ჩემი ყველაზე გავრცელებული დროშა გასულ ls. 707 00:32:38,130 --> 00:32:42,520 >> ასე -ა, შეამჩნია, რომ არსებობს ბევრი ფაილი, ვიდრე უბრალოდ ls. 708 00:32:42,520 --> 00:32:44,170 ls -a. 709 00:32:44,170 --> 00:32:46,170 რა არის საერთო ყველა ფაილი? 710 00:32:46,170 --> 00:32:47,790 იწყება dot. 711 00:32:47,790 --> 00:32:54,710 ასე რომ, ეს არის კონვენციის Linux, რომ ფაილი, რომელიც დასაწყისისთვის dot იმალება. 712 00:32:54,710 --> 00:32:58,330 ასე რომ, ეს მხოლოდ იმას ნიშნავს, რომ როცა ჩვენ უბრალოდ სწორი ls, 713 00:32:58,330 --> 00:33:04,170 ან ჩვენ ძებნას ამ დირექტორია გამოყენებით მონახეთ ექვივალენტი, ან Windows 714 00:33:04,170 --> 00:33:07,250 Explorer ექვივალენტს, რომ ჩვენ არ გვინდა, რომ ეს dot ფაილი. 715 00:33:07,250 --> 00:33:09,680 ისინი უბრალოდ აბინძურებს აზრით რამ. 716 00:33:09,680 --> 00:33:11,790 ასე რომ, ისინი ჩაფლული თუ კონკრეტულად 717 00:33:11,790 --> 00:33:14,250 მოვითხოვთ, რაღაც ა. 718 00:33:14,250 --> 00:33:18,920 ასე, რომ შეიძლება CD შევიდა .local, და მე ვხედავ , რომ თავად დირექტორია 719 00:33:18,920 --> 00:33:22,220 საერთო დირექტორია, და პროგრამები, და blah blah blah. 720 00:33:22,220 --> 00:33:24,520 ასე dot, ფაილი, ისინი მხოლოდ იმალება. 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> OK, ასე რომ სხვა მნიშვნელოვანი პირობა. 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 მე მაქვს რამოდენიმე შემიძლია გამოტოვოთ. 725 00:33:32,000 --> 00:33:38,160 მოდით უბრალოდ, რეალური სწრაფი საუბარი, ფაილის გადამისამართება რამ. 726 00:33:38,160 --> 00:33:43,020 ასე რომ, არსებობს მთელი კომპლექსი სერია რამ შეგიძლიათ გააკეთოთ ეს, 727 00:33:43,020 --> 00:33:47,204 მაგრამ მხოლოდ, რომ მათ, ასე ვთქვათ, ეხმიანება. 728 00:33:47,204 --> 00:33:47,870 კიდევ ერთი ბრძანება. 729 00:33:47,870 --> 00:33:48,920 მართლაც dumb ბრძანება. 730 00:33:48,920 --> 00:33:50,710 ყველა ის არ არის ბეჭდვის, რაც მე ვუთხრა მას. 731 00:33:50,710 --> 00:33:52,070 ასე ეხმიანება hello. 732 00:33:52,070 --> 00:33:53,850 ეს უბრალოდ გაიმეორა მიესალმები ეკრანზე. 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 Hello world. 735 00:33:56,390 --> 00:33:57,890 Echoes მიესალმები მსოფლიოში. 736 00:33:57,890 --> 00:34:02,650 >> ასე რომ, ერთი ბრძანება ან ერთი სიმბოლო, რომელიც bash ესმის 737 00:34:02,650 --> 00:34:07,620 ეს უფრო მეტია, ვიდრე სიმბოლო და რომ არის გამომავალი ფაილი სიმბოლო. 738 00:34:07,620 --> 00:34:10,940 ასე რომ, თუ გამომავალი ეს foo, იქ არის ფაილი 739 00:34:10,940 --> 00:34:15,100 მოუწოდა foo, შიგნით რაც მშვენიერია. 740 00:34:15,100 --> 00:34:18,489 ასე რომ, როდესაც მე ვუერთდები მშვენიერია მილის foo, 741 00:34:18,489 --> 00:34:19,980 ეს არ ეხმიანება მიესალმები მსოფლიოში. 742 00:34:19,980 --> 00:34:22,630 ამის ნაცვლად იგი შევიდა ფაილი foo. 743 00:34:22,630 --> 00:34:25,340 და კიდევ ერთი ბრძანება მხოლოდ იმისათვის, რომ ეს თქვენ, კატა. 744 00:34:25,340 --> 00:34:29,191 რომ მარტივი გზა უბრალოდ, სრულიად სიაში შინაარსი ფაილი 745 00:34:29,191 --> 00:34:31,440 ასე, რომ მე არ უნდა გახსნა ტექსტური რედაქტორი უნდა ჩაირთოს. 746 00:34:31,440 --> 00:34:34,159 ასე შინაარსი foo ფაილის მიესალმები მსოფლიოში. 747 00:34:34,159 --> 00:34:38,460 და მე cat blah.c, შინაარსი ამ. 748 00:34:38,460 --> 00:34:42,123 >> ერთხელ, ამ ბრძანებას, რომ არ ველით თქვენ გაქვთ მათ ყველა მეხსიერებაში. 749 00:34:42,123 --> 00:34:43,860 იდეა თქვენ ვხედავთ მათ. 750 00:34:43,860 --> 00:34:45,735 იქნებ ვმუშაობთ რაღაც, და თქვენ 751 00:34:45,735 --> 00:34:47,230 როგორც მე ვარ ავადმყოფი იხსნება ფაილი. 752 00:34:47,230 --> 00:34:50,120 მე მინდა მე შეიძლება უბრალოდ გამოიყურება შინაარსი რეალური სწრაფი. 753 00:34:50,120 --> 00:34:52,320 თქვენ შეიძლება ამის გაკეთება, მაშინ ვიხსენებთ და აცხადებენ, oh I 754 00:34:52,320 --> 00:34:55,250 გვახსოვდეს, რომ მსგავსი რამ რომ არსებობს, და ეს კატა. 755 00:34:55,250 --> 00:35:00,630 >> ასე, რომ აპირებს ფაილი. 756 00:35:00,630 --> 00:35:06,639 ახლა ნამდვილად არ არის რაიმე კარგი მაგალითად კითხულობს ფაილიდან ამჟამად. 757 00:35:06,639 --> 00:35:08,930 რა არის ის, რასაც იღებს რაღაც სტანდარტს? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 ნებისმიერი მარტივი Linux ბრძანება? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 როდესაც მივიღებთ, რამდენიმე კვირის განმავლობაში ყველა ცალი კარგად, 762 00:35:16,970 --> 00:35:20,470 ამ კვირაში თქვენ გაქვთ ნაჭერი, სადაც თქვენ დაიწყოს აღების შეყვანის შესახებ. 763 00:35:20,470 --> 00:35:23,696 და ასე, როგორც წესი, თქვენ აკრიფოთ შეყვანის დროს კლავიატურაზე. 764 00:35:23,696 --> 00:35:25,570 ნაცვლად აკრეფით, რომ შეყვანის კლავიატურის, 765 00:35:25,570 --> 00:35:30,950 თქვენ შეგიძლიათ ნაცვლად მილი საწყისი ფაილი ასე რომ, როდესაც თქვენ ამის გაკეთება Mario, ./mario, 766 00:35:30,950 --> 00:35:35,200 მილის ცალკეული ფაილი, და რომ აპირებს mario პროგრამა. 767 00:35:35,200 --> 00:35:37,300 არ ელოდა შეყვანის კლავიატურის ნაცვლად, რომ ეს 768 00:35:37,300 --> 00:35:39,650 უბრალოდ აპირებს წაიკითხა ხაზები foo ფაილი. 769 00:35:39,650 --> 00:35:45,230 >> ასე უფრო მეტი, ვიდრე foo აყენებს მას კ ფაილი, და ნაკლები foo 770 00:35:45,230 --> 00:35:50,170 იღებს პერსონალის foo ფაილი და იყენებს, რომ, როგორც შეყვანის ამ პროგრამაში. 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 და მხოლოდ მისი დანახვა, ჩვენ შეგვიძლია ასევე ეხმიანება foo ბარი baz და შემდეგ ერთის ნაცვლად 773 00:36:00,630 --> 00:36:03,850 მეტია, მოდით ორი შევიდა foo. 774 00:36:03,850 --> 00:36:05,610 რას აკეთებთ? 775 00:36:05,610 --> 00:36:07,180 ეს უბრალოდ რეზოლუციას ფაილი. 776 00:36:07,180 --> 00:36:15,360 ასე რომ, ნაცვლად შეამჩნია, თუ მე echo blah შევიდა foo და შემდეგ cat foo, უბრალოდ blah. 777 00:36:15,360 --> 00:36:18,285 ასე რომ, როდესაც თქვენ გამომავალი ფაილი, მთლიანად overwrites ფაილი. 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 თუ თქვენ უბრალოდ გვინდა დამატება, ორმაგი [? კლასის მოსწავლე. ?] 780 00:36:22,740 --> 00:36:24,080 >> და ბოლო მილსადენი. 781 00:36:24,080 --> 00:36:29,590 მილის იღებს გაცილებით უფრო რთული, სადაც იგი იღებს გამომავალი ერთი ბრძანება 782 00:36:29,590 --> 00:36:32,320 და კვებავს მას შემდეგ ბრძანება. 783 00:36:32,320 --> 00:36:36,140 ასე რომ, გარკვეული საერთო რამ, ისტორია. 784 00:36:36,140 --> 00:36:37,920 ასე რომ, ugh, მე არ მინდა, რომ შევხედოთ ეს. 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 მაჩვენეთ ყველა ბრძანებები ჩემი ისტორია სადაც მე grep-ed რაღაც. 787 00:36:44,485 --> 00:36:45,360 არა, ეს გაუგებარია. 788 00:36:45,360 --> 00:36:50,360 მაჩვენეთ ბრძანებები, სადაც მე. 789 00:36:50,360 --> 00:36:52,360 ყველა ბრძანებები მე ოდესმე გაიქცა. 790 00:36:52,360 --> 00:36:55,050 >> ასე ისტორიაში. 791 00:36:55,050 --> 00:36:59,017 ახლა ისტორიის შედეგები, ეკრანზე ამ სიაში ბრძანებები, 792 00:36:59,017 --> 00:37:00,850 მაგრამ მე არ მინდა, რომ დაბეჭდავს მას ეკრანზე. 793 00:37:00,850 --> 00:37:03,445 იმის ნაცვლად, რომ მე ვაპირებ მილის იგი grep. 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 მოდით grep ყველა ინსტანციის იპოვოს. 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 ასე რომ, ახლა ნაცვლად grep აყვანა შეყვანის ნაცვლად of-- 798 00:37:17,000 --> 00:37:24,360 grep შეუძლია გაუმკლავდეს როგორც შეყვანის ჩვენ გამოყენებით grep ოდნავ განსხვავებულად აქ. 799 00:37:24,360 --> 00:37:29,550 ასე რომ ნაცვლად აკრეფით სია რამ გვინდოდა მოძიება 800 00:37:29,550 --> 00:37:31,070 და განაცხადა, grep ხდება, როგორც შეყვანის. 801 00:37:31,070 --> 00:37:34,810 ასე რომ, თუ მხოლოდ grep იპოვოს, ეს ელოდება ჩემთვის ტიპის რამ. 802 00:37:34,810 --> 00:37:37,661 ასე cat კომენტარი იპოვოს. 803 00:37:37,661 --> 00:37:38,160 Hello. 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 ს. 806 00:37:40,930 --> 00:37:43,670 გაითვალისწინეთ, ყოველ ჯერზე მე აკრიფოთ იპოვნით ის აღიარებს, რომ მე აკრეფილი იპოვოს. 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 ასე რომ ნაცვლად ამისა, ნება ძიების ფაილების პოვნა. 809 00:37:49,540 --> 00:37:53,930 >> ასე ისტორიის ახლა აპირებს გამომავალი სიაში ყველა ბრძანებები. 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 ჩვენ აყენებს, რომ გამომავალი, და ჩვენ კვების იგი grep, 812 00:37:58,100 --> 00:38:00,180 და ამიტომ spitting გარეთ ყველა ინსტანციის იპოვოს. 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 მიზეზი მე ვთქვი, რომ მინდა იყოს გაუგებარია იმ შემთხვევაში, თუ არ მე ეს ჯერ კიდევ გაუგებარია. 815 00:38:05,570 --> 00:38:07,030 თუ მე grep for grep. 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 შეამჩნია, რომ ეს საკმაოდ ბევრი ყოველთვის ნაჩვენებია ბრძანება მე მხოლოდ 818 00:38:11,130 --> 00:38:15,280 გაიქცა იმიტომ, რომ ბრძანება თავად grep შიგნით მას. 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> OK, ასე რომ რაიმე შეკითხვები არაფერი? 821 00:38:20,674 --> 00:38:22,340 და მე გადაიტანოთ მეტი ამ ეტაპზე. 822 00:38:22,340 --> 00:38:24,690 იმედია, რომ ეს ლამაზი მიმოხილვა ყველა ბრძანებები 823 00:38:24,690 --> 00:38:30,100 რომ თქვენ არ უნდა მეხსიერებაში, მაგრამ ეს შეადგინოს 824 00:38:30,100 --> 00:38:32,950 მყარი 95% რა გავაკეთოთ ბრძანების. 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 ასევე გახსოვდეთ, რომ ბრძანება ხაზი თავისთავად, bash არის პროგრამირების ენა, 827 00:38:39,140 --> 00:38:43,070 და ასე, როდესაც თქვენ ქვემოთ, თქვენ შეიძლება გსურთ მართლაც რთული რამ. 828 00:38:43,070 --> 00:38:47,522 და ამიტომ მას აქვს რამ, როგორიცაა მარყუჟების და IFS, და ყველა იმ 829 00:38:47,522 --> 00:38:50,230 რომ თქვენ აპირებთ მისაღებად გამოიყენება თქვენი პროგრამირების ენები. 830 00:38:50,230 --> 00:38:53,660 მაგრამ ეს სცილდება წინამდებარე ნაწილში. 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 OK, ასე რომ არ კითხვებზე პასუხი? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 ALLISON: არა? 835 00:38:58,523 --> 00:38:59,450 GABRIEL: აპირებთ მიზანია: 836 00:38:59,450 --> 00:39:01,158 ALLISON: მე შემიძლია ამის გაკეთება აფეთქდა, თუ გნებავთ. 837 00:39:01,158 --> 00:39:02,626 ჩვენ ვხედავთ, რა ხდება. 838 00:39:02,626 --> 00:39:03,750 რობ Bowden: Off to Allison. 839 00:39:03,750 --> 00:39:05,090 ALLISON: Woo. 840 00:39:05,090 --> 00:39:07,504 თქვენ მძიმე აქტი დაიცვას, Rob. 841 00:39:07,504 --> 00:39:08,920 გინდა გადართოთ თქვენ? 842 00:39:08,920 --> 00:39:10,246 ან შენ, OK. 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 მე ვაპირებ ცდილობენ და არა საკმაოდ იყოს, როგორც ხანგრძლივი იყო. 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 მოდით ვნახოთ, თუ ეს ნება მუშაობა გზა მინდა ეს. 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 იქნებ? 849 00:39:26,670 --> 00:39:27,760 850 00:39:27,760 --> 00:39:28,296 Haha! 851 00:39:28,296 --> 00:39:28,796 დიახ. 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> ასე რომ მე უბრალოდ აპირებს ძალიან სწრაფად წავიდეთ მეშვეობით ცვლადები, მარყუჟების, პირობით, 854 00:39:34,066 --> 00:39:35,440 და ცოტა შემდგენელი. 855 00:39:35,440 --> 00:39:38,570 თუ თქვენ გაქვთ კითხვები ნებისმიერ დროს, გთხოვთ, შეწყვიტოს ჩემთვის. 856 00:39:38,570 --> 00:39:42,750 ამ ბიჭებს მაგონებს ვიმეორებ თქვენი შეკითხვა შემთხვევაში მე დაგვავიწყდეს, 857 00:39:42,750 --> 00:39:44,210 მაგრამ არ უნდა იყოს ძალიან ცუდი. 858 00:39:44,210 --> 00:39:45,850 >> ასე რომ ცვლადების, yeah. 859 00:39:45,850 --> 00:39:48,060 ჩვენ არ გვაქვს ერთი თქვენი Scratch ცალი აქ. 860 00:39:48,060 --> 00:39:50,440 დარწმუნებული ვარ, რომ თქვენ, თუ თქვენ ჰქონდა გარკვეული თამაში 861 00:39:50,440 --> 00:39:53,810 რომ თქვენ შექმნილია Scratch, გქონდათ შენარჩუნება სიმღერა რაღაც ქულა, 862 00:39:53,810 --> 00:39:55,870 ან დრო, ან რაღაც მსგავსი. 863 00:39:55,870 --> 00:39:58,080 ასე რომ, ეს ნათელი ნარინჯისფერი დარტყმები, რომ ჩვენ ვხედავთ, 864 00:39:58,080 --> 00:40:02,630 მხოლოდ Scratch სახით ცვლადები, და თქვენ აუცილებლად 865 00:40:02,630 --> 00:40:04,640 გამოყენებით ცვლადები მთელი თქვენი პროგრამები. 866 00:40:04,640 --> 00:40:07,350 თუ თქვენ არა, მე არ ვარ ნამდვილად დარწმუნებული ვარ, თუ რას აკეთებს. 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> მაგრამ მაინც, დიდი რამ, განსაზღვრის ცვლადები. 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 With C ყველა ცვლადს აქვს აქვს ტიპის განაცხადა, 871 00:40:16,970 --> 00:40:22,090 ამიტომ მისცა ძალიან ზოგადი ზედა. 872 00:40:22,090 --> 00:40:24,045 ასე რომ თქვენ უნდა თქვენი ჩაწერეთ და შემდეგ რაც 873 00:40:24,045 --> 00:40:25,420 თქვენ გადაწყვიტეთ, რომ თქვენი ცვლადი. 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 ასე რომ, ამ შემთხვევაში, ტიპი თქვენს ცვლადის სიაში. 876 00:40:29,680 --> 00:40:31,400 >> ჩვენ გვაქვს სამი მაგალითი. 877 00:40:31,400 --> 00:40:34,439 Char ზოგიერთი კლასის, საქართველოს, რაც 878 00:40:34,439 --> 00:40:36,230 დარწმუნებული ვარ, ყველას გვინდა მისაღებად ამ კლასში. 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 თქვენ შეგიძლიათ განსაზღვრა რამდენიმე ცვლადის ერთ ონლაინ 881 00:40:40,670 --> 00:40:43,880 რადგან ისინი ყველა იმავე ტიპის, რომელიც არის ჩვენი მეორე, მაგალითად, 882 00:40:43,880 --> 00:40:46,409 სადაც თქვენ გაქვთ სამი ცვლადები, x, y და z. 883 00:40:46,409 --> 00:40:47,200 ისინი ყველა მოძრავი. 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 და შემდეგ ასევე, შეგიძლიათ, ამ ბოლო მაგალითად, int ანგარიში და ნომერი 886 00:40:53,250 --> 00:40:56,510 გუნდები, თქვენ შეგიძლიათ ინიციალიზაცია მათ უფლება არსებობს. 887 00:40:56,510 --> 00:41:01,270 >> ასე რომ, შუა მაგალითად, სადაც ჩვენ უბრალოდ float x, y და z, 888 00:41:01,270 --> 00:41:02,730 ის არ ინიციალიზაცია ამჟამად. 889 00:41:02,730 --> 00:41:04,140 მათ არ აქვთ მნიშვნელობა. 890 00:41:04,140 --> 00:41:05,600 ან მათ ნაგვის ღირებულებებს. 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 და თუ ცდილობენ და მათი გამოყენება, კომპილატორი დაწეროთ თქვენ. 893 00:41:10,790 --> 00:41:14,727 თქვენ უნდა ორივე განაცხადოს და ინიციალიზაცია თქვენი ცვლადები. 894 00:41:14,727 --> 00:41:16,310 ასე რომ, ამ ბოლო ერთი, ვაკეთებთ ორივე. 895 00:41:16,310 --> 00:41:19,320 ჩვენ ვაცხადებთ ცვლადები ანგარიშით და რაოდენობის გუნდები, 896 00:41:19,320 --> 00:41:24,134 და ჩვენ ინიციალიზაციისას მათ, რაც მათ საწყის მნიშვნელობებს, 7 და 4 897 00:41:24,134 --> 00:41:24,675 შესაბამისად. 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 ზემოთ. 900 00:41:27,190 --> 00:41:28,550 ყველას კარგი? 901 00:41:28,550 --> 00:41:29,470 გასაოცარია. 902 00:41:29,470 --> 00:41:31,690 >> OK, ასე რომ, ზოგიერთი კონვენცია. 903 00:41:31,690 --> 00:41:35,965 თუ ბიჭები წავიკითხე მეშვეობით სტილის 50, ამ 904 00:41:35,965 --> 00:41:39,510 უბრალოდ რამ, რომ ჩვენ გვინდა მომწონს თქვენ განახორციელოს თქვენი სტილი. 905 00:41:39,510 --> 00:41:41,230 ასე მნიშვნელოვანი სახელები. 906 00:41:41,230 --> 00:41:45,700 თუ დაიწყება მოუწოდებენ რამ უბრალოდ x, y და z, განსაკუთრებით 907 00:41:45,700 --> 00:41:47,902 როგორც თქვენ შეღწევას lengthier პროგრამები, თქვენ 908 00:41:47,902 --> 00:41:49,610 ალბათ აპირებს დაიბნევით და 909 00:41:49,610 --> 00:41:52,930 , რა არის ეს ცვლადი გულისხმობდა. 910 00:41:52,930 --> 00:41:55,880 წარმოდგენა არ მაქვს, რას ნიშნავს ეს. 911 00:41:55,880 --> 00:41:59,280 >> ასე რომ, თუ ეს ნიშნავს, რომ გამართავს ანგარიშით, მას ანგარიში. 912 00:41:59,280 --> 00:42:05,720 თუ ეს იმას ნიშნავდა, გამართავს რამდენიმე პასუხი ან გამოიწვიოს, ეს სახელი, რომ. 913 00:42:05,720 --> 00:42:09,920 ამისთვის მარყუჟების, რომელიც ჩვენ შეღწევას მომდევნო slide, 914 00:42:09,920 --> 00:42:12,985 ერთი წერილი ცვლადები ჯარიმა. 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 რობ Bowden: I, j, და k მხოლოდ კონვენციების მარყუჟების 917 00:42:18,449 --> 00:42:22,050 რომ ყველას მოელის მათ ეწოდოს i, j, და k. 918 00:42:22,050 --> 00:42:26,890 შეგიძლიათ მოვუწოდებთ მათ ვხედავ row სვეტი ან row ზარი ზოგჯერ 919 00:42:26,890 --> 00:42:29,450 ორი წყობილი მარყუჟების, და რომ ასევე სახის სტანდარტი. 920 00:42:29,450 --> 00:42:31,450 მაგრამ i და j ბოლომდე ნათელი არ არის. 921 00:42:31,450 --> 00:42:33,670 >> ALLISON: ჰო, მე და j თქვენ მთლიანად ჯარიმა. 922 00:42:33,670 --> 00:42:36,250 ხათრით სიცხადე, როგორიცაა ზოგიერთი თქვენი P კომპლექტი, 923 00:42:36,250 --> 00:42:39,745 შესაძლოა, აზრი ჰქონდეს მეტი აღწერილობითი რამ არსებობს მხოლოდ 924 00:42:39,745 --> 00:42:40,920 შენარჩუნება სიმღერა ეს. 925 00:42:40,920 --> 00:42:45,100 მაგრამ მე ვფიქრობ, i, j, და k მე ვფიქრობ, უმრავლესობის us ყველა გამოყენება. 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> რობ Bowden: ამ კონვენციების, ისე სტილის მნიშვნელოვანია. 928 00:42:50,340 --> 00:42:53,520 ეს არის ერთ ერთი ოთხი ღერძი on, რომელიც თქვენ ფასდება, 929 00:42:53,520 --> 00:42:58,110 და ეს ასე ადვილი უბრალოდ მეტი თქვენი P მითითებული ბოლოს და დარწმუნდით 930 00:42:58,110 --> 00:42:59,770 რომ არ არსებობს სტილისტური შეცდომები. 931 00:42:59,770 --> 00:43:01,742 ასე რომ დარწმუნდით, რომ თქვენ tabbing სწორად. 932 00:43:01,742 --> 00:43:03,200 დარწმუნდით, რომ თქვენი ცვლადები დაასახელა. 933 00:43:03,200 --> 00:43:04,450 დატოვონ კომენტარი. 934 00:43:04,450 --> 00:43:06,677 ეს არის ძალიან ადვილი მიიღოს იმ რაოდენობა. 935 00:43:06,677 --> 00:43:09,510 თქვენ არ უნდა ვიფიქროთ, არაფერი, რათა მიიღოს იმ რაოდენობა. 936 00:43:09,510 --> 00:43:11,093 თქვენ არ უნდა გაერკვნენ არაფერი გამოვიდა. 937 00:43:11,093 --> 00:43:12,640 უბრალოდ, რათა ის გამოიყურება საკმაოდ. 938 00:43:12,640 --> 00:43:14,850 >> ALLISON: ფაქტია, რომ ჩვენ აქვს style 50, რომელიც 939 00:43:14,850 --> 00:43:17,920 გეტყვით, სადაც თქვენ ძვირფასი up თუ თქვენ ძვირფასი სტილი 940 00:43:17,920 --> 00:43:21,180 და გეტყვით ზუსტად რა უნდა დააფიქსიროს და როგორ უნდა გაასწორონ ის. 941 00:43:21,180 --> 00:43:23,900 ეს არის ასევე მხოლოდ კარგი ვთქვათ რომ ეს, რა თქმა უნდა პოლიტიკა 942 00:43:23,900 --> 00:43:27,200 იმ შემთხვევაში, თუ თქვენ ოფისში საათი და თქვენი კოდი არის სასადილო, 943 00:43:27,200 --> 00:43:30,200 ჩვენ შეუძლია უარი თქვას, რათა დაეხმაროს სანამ ეს გამოიყურება გავალამაზოთ. 944 00:43:30,200 --> 00:43:34,310 ასე რომ დაიწყოს გარეთ მარჯვენა, შეინარჩუნოს თანმიმდევრული სტილი, 945 00:43:34,310 --> 00:43:37,100 თქვენ ასევე უბრალოდ აპირებს თქვენი სიცოცხლე მთელი ბევრი ადვილია, როდესაც 946 00:43:37,100 --> 00:43:38,730 თქვენ ცდილობთ გავლა გამართვის. 947 00:43:38,730 --> 00:43:41,510 თუ თქვენ ცდილობს გაერკვნენ სადაც თქვენ დაკარგული Curly გაუწიოს 948 00:43:41,510 --> 00:43:44,890 და ისინი მთელი ადგილი, თქვენ მხოლოდ მიღების თქვენი საკუთარი ცხოვრება რთული. 949 00:43:44,890 --> 00:43:47,217 ასე რომ შეესაბამება სტილი. 950 00:43:47,217 --> 00:43:48,800 მე გპირდებით, რომ თქვენ, რათა თქვენი ცხოვრება უფრო ადვილია. 951 00:43:48,800 --> 00:43:50,330 ეს თქვენ, რათა ჩვენი ცხოვრება უფრო ადვილია. 952 00:43:50,330 --> 00:43:51,869 ყველას იქნება ბევრად უფრო ბედნიერი. 953 00:43:51,869 --> 00:43:52,910 და რომ ის, რაც გსურთ. 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL შენი grade იქნება უმაღლესი. 956 00:43:55,650 --> 00:43:56,858 ALLISON: დიახ, და თქვენი კლასის. 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 თუ თქვენი TF როგორც თქვენ, tends უნდა იყოს ხელსაყრელი. 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 ყველა უფლება, და მაშინ მხოლოდ მეორე წერტილი აქ. 961 00:44:05,010 --> 00:44:06,300 თანმიმდევრული initializations. 962 00:44:06,300 --> 00:44:09,605 ასე რომ, როგორც ჩვენ ვნახეთ, შეგიძლიათ განაცხადოს და ინიციალიზაცია რამ. 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 მრავალჯერადი ცვლადები იგივე ხაზი. 965 00:44:13,180 --> 00:44:17,930 ერთ-ერთი, რაც ჩვენ გვინდა, რომ თქვენ არ უნდა გავაკეთოთ, არის განაცხადოს, ზოგიერთი ცვლადის 966 00:44:17,930 --> 00:44:21,360 და არ ვრთავ მათ იგივე ხაზი, რომელიც თქვენ ინიციალიზაციისას სხვები. 967 00:44:21,360 --> 00:44:23,960 >> ამიტომ იმ შემთხვევაში, რომ გააკეთა არ გაუმახვილებიათ, 968 00:44:23,960 --> 00:44:29,050 ჩვენ გვაქვს მაგალითი აქ სადაც ჩვენ ვაცხადებთ ints 969 00:44:29,050 --> 00:44:31,180 ცვლადები მეოთხედი dimes და pennies, 970 00:44:31,180 --> 00:44:34,214 მაგრამ კვარტლები და pennies არ თავდაპირველი ღირებულება. 971 00:44:34,214 --> 00:44:36,630 ჩვენ არ ინიციალიზდება მათ, მაგრამ უფლება შუა არსებობს 972 00:44:36,630 --> 00:44:38,600 ჩვენ უკვე ინიციალიზაცია dimes 0. 973 00:44:38,600 --> 00:44:41,650 ასე რომ, ან ამის გაკეთება მეოთხედი, dimes, pennies. 974 00:44:41,650 --> 00:44:43,170 ან გააკეთოთ მეოთხედი უდრის 0. 975 00:44:43,170 --> 00:44:43,930 Dimes უდრის 0. 976 00:44:43,930 --> 00:44:46,810 Pennies უდრის 0, ან რასაც იმ საწყის ღირებულებები. 977 00:44:46,810 --> 00:44:49,800 >> დიდი რამ სტილი, იყოს თანმიმდევრული. 978 00:44:49,800 --> 00:44:51,050 როდესაც ეჭვი, იყოს თანმიმდევრული. 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 მაგრამ დაიცვას ჩვენი სტილი გიდის ძალიან. 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 ზემოთ. 983 00:44:55,317 --> 00:44:56,150 ყველას კარგი არსებობს? 984 00:44:56,150 --> 00:44:57,566 >> აუდიტორია: სად სტილის სახელმძღვანელო? 985 00:44:57,566 --> 00:45:00,800 ALLISON: სტილის სახელმძღვანელო არის on-- რა არის საიტზე? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL: მე ვფიქრობ, რომ manual.cs50.net/-- 987 00:45:03,950 --> 00:45:04,575 ALLISON: სტილი? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL: Style. 990 00:45:06,390 --> 00:45:06,920 Yep. 991 00:45:06,920 --> 00:45:07,520 >> ALLISON: დიახ. 992 00:45:07,520 --> 00:45:10,150 ასე კითხვა, სად არის სტილი 50. 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style. 994 00:45:12,250 --> 00:45:13,639 დიახ? 995 00:45:13,639 --> 00:45:16,880 >> აუდიტორია: თუ ჩვენ განმსაზღვრელი ცვლადები, არის კარგი 996 00:45:16,880 --> 00:45:28,145 თუ ჩვენ, როგორც [INAUDIBLE], როგორიცაა int ანგარიშით და შემდეგ int მიზანი. 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 ასე შეიძლება ითქვას, რომ ახლა ჩვენ მიიღო განსაზღვრავს მათ ერთად? 999 00:45:35,100 --> 00:45:37,640 >> ALLISON: ასე კითხვა, უნდა თქვენ გაქვთ ზედმეტი კოდი 1000 00:45:37,640 --> 00:45:40,940 როდესაც თქვენ განსაზღვრის ცვლადები, როგორიცაა int ქულა და 1001 00:45:40,940 --> 00:45:43,239 მომდევნო ხაზი int თამაში? 1002 00:45:43,239 --> 00:45:46,030 რობ Bowden: არსებობს ნამდვილად შემთხვევებში, როდესაც ზედმეტი კოდი ცუდია. 1003 00:45:46,030 --> 00:45:47,738 მე არ მიმაჩნია რომ გადაჭარბებული კოდი. 1004 00:45:47,738 --> 00:45:50,970 მე თითქმის არასდროს განაცხადოს მრავალჯერადი ცვლადები იმავე ხაზის ოდესმე. 1005 00:45:50,970 --> 00:45:53,736 და თუ არაფერი, ეს იმიტომ, რომ როგორც წესი, დავტოვო გარკვეული კომენტარი 1006 00:45:53,736 --> 00:45:55,235 აეხსნა, თუ რა ცვლადი არის. 1007 00:45:55,235 --> 00:45:57,582 ასე რომ მე ვთქვა int ანგარიში slash slash. 1008 00:45:57,582 --> 00:45:59,350 ინახავს ტრეკზე რასაც. 1009 00:45:59,350 --> 00:46:00,710 სულ slash slash. 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 ამიტომ ბევრად დაეკისრება ამ გზით იმისათვის, რომ მათ ყველა იგივე ხაზი. 1012 00:46:06,455 --> 00:46:08,080 უბრალოდ არ დააყენა მათ იგივე ხაზი. 1013 00:46:08,080 --> 00:46:10,580 >> ALLISON: მე ვგრძნობ, როგორც ეს პირადი უპირატესობა ამ ეტაპზე. 1014 00:46:10,580 --> 00:46:14,900 >> აუდიტორია: არა, რომ წავიდეთ მარყუჟების და პერსონალის ძალიან? 1015 00:46:14,900 --> 00:46:15,900 რობ Bowden: Like შიგნით? 1016 00:46:15,900 --> 00:46:18,282 როგორიცაა int i = 0 მძიმით ხანგრძლივობა უდრის რაღაც? 1017 00:46:18,282 --> 00:46:19,490 რომ თქვენ არ გაქვთ არჩევანი. 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 ამისთვის მარყუჟების ინიციალიზაციისას part-- ასე რომ თქვენ შეიძლება არ მინახავს მხოლოდ 1020 00:46:25,910 --> 00:46:31,520 int i = 0 მძიმით i ნაკლებია, ვიდრე ნებისმიერი მძიმით i plus plus. 1021 00:46:31,520 --> 00:46:33,820 რომ int i = 0, ტექნიკურად ასევე შეგიძლიათ 1022 00:46:33,820 --> 00:46:35,770 ის, რაც ჩვენ ვნახეთ ადრე ერთად მძიმით სინტაქსი. 1023 00:46:35,770 --> 00:46:39,790 int i = 0 მძიმით j უდრის 3 მძიმე k შეადგენს 5. 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 თქვენ არ გაქვთ არჩევანი, გაყოფილი რომ შევიდა მრავალჯერადი ხაზები, 1026 00:46:44,320 --> 00:46:46,530 და ეს სტანდარტი. 1027 00:46:46,530 --> 00:46:47,780 ვხედავთ, რომ ეს არ არის ჯარიმა. 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 ALLISON: გასაოცარია. 1030 00:46:49,890 --> 00:46:52,120 ასევე, მოსახერხებელია segue შევიდა მარყუჟების. 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 ისე ჰო, აქ ჩვენ გვაქვს მაგალითები მარყუჟების, რომ თქვენ ბიჭები დაინახა ნულიდან. 1033 00:46:58,980 --> 00:47:01,550 და რა თქმა უნდა, ყველა ეს შეიძლება მხოლოდ თავიდან in C. 1034 00:47:01,550 --> 00:47:04,610 და ძირითადად საშუალებას გაძლევთ ვიმეორებ გარკვეული მონაკვეთის კოდი 1035 00:47:04,610 --> 00:47:06,740 გარკვეული მდგომარეობა შეხვდა, რომელიც ჩვენ 1036 00:47:06,740 --> 00:47:09,198 მოხვდება მას შემდეგ, რაც საუბარი მარყუჟების ერთად პირობით. 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> ასე რომ, ჩვენ სამი ძირითადი ტიპის. 1039 00:47:12,570 --> 00:47:17,500 , ხოლო, და ნუ ხოლო, რაც ჩვენ ყველა გავლა ახლა. 1040 00:47:17,500 --> 00:47:18,860 ასე რომ, პირველი ერთი მარყუჟების. 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 ასე რომ ზოგიერთი მდგომარეობის, შეასრულოს ეს ბლოკი კოდი. 1043 00:47:25,034 --> 00:47:27,200 ჩვენ გვაქვს ეს მაგარი პატარა გრაფიკაზე აქ ბოლოში. 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 მაგრამ, ძირითადად, თქვენ გაქვთ თქვენი for, რომ პირველ ხაზზე, 1046 00:47:32,310 --> 00:47:34,240 თქვენ აპირებს ინიციალიზაცია თქვენი ცვლადები. 1047 00:47:34,240 --> 00:47:38,260 >> ასე რომ, როგორც ჩვენ ვისაუბრეთ, მე 0-ის ტოლი ან მე უდრის 10-ს. 1048 00:47:38,260 --> 00:47:40,010 რაც თქვენ გჭირდებათ რომ ცვლადი უნდა იყოს ის 1049 00:47:40,010 --> 00:47:43,970 იქნება ინიციალიზაცია არსებობს, განაცხადა და ინიციალიზაცია ზოგიერთ ღირებულება. 1050 00:47:43,970 --> 00:47:46,760 ასე რომ, ჩვენ გვაქვს რამდენიმე პირობით, რომ აპირებს 1051 00:47:46,760 --> 00:47:48,900 უნდა იყოს შემოწმების ჩვენს ცვლადი წინააღმდეგ რაიმე. 1052 00:47:48,900 --> 00:47:55,220 ასე რომ იმ შემთხვევაში ტიპიური სცენარი, სადაც იქნებ გსურთ ამ სექციაში კოდი 1053 00:47:55,220 --> 00:47:56,620 უნდა შეასრულოს ხუთჯერ. 1054 00:47:56,620 --> 00:48:02,380 ასე რომ ჩვენ გვინდა აქვს int i = 0, და ჩვენ გვინდა, რომ იყოს, როდესაც მე არანაკლებ 5. 1055 00:48:02,380 --> 00:48:04,940 ასე რომ მდგომარეობა არის მხოლოდ აპირებს შეამოწმოს, რომ ყველა დროის. 1056 00:48:04,940 --> 00:48:07,120 თუ ეს მდგომარეობა აფასებს ჭეშმარიტი, ეს 1057 00:48:07,120 --> 00:48:11,162 აპირებს კოდი, რომელიც ზუსტად რა ამ პატარა სქემა გვიჩვენებს. 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> და ასე ახორციელებს. 1060 00:48:13,639 --> 00:48:15,430 განახლებები ცვლადი, რაც ჩვენ ვხედავთ, 1061 00:48:15,430 --> 00:48:21,020 ბოლო ნაწილი ჩვენი ამისთვის loop ინიციალიზაციისას არსებობს. 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 ასე რომ, ეს უბრალოდ აკეთეთ ეს სანამ ეს მდგომარეობა არ შეხვდა, 1064 00:48:26,030 --> 00:48:28,010 და მაშინ გასვლა მარყუჟის და გაგრძელდება 1065 00:48:28,010 --> 00:48:29,960 მოძრავი დანარჩენი თქვენი პროგრამა. 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 ყველას კარგი არსებობს? 1068 00:48:33,620 --> 00:48:34,440 ზემოთ. 1069 00:48:34,440 --> 00:48:37,780 >> ასე რომ, აქ, მაგალითად, ძალიან ჰგავს რაღაც მე მხოლოდ ისაუბრა. 1070 00:48:37,780 --> 00:48:42,030 ამიტომ, ჩვენ უბრალოდ გვინდა ბეჭდვა ეს არის CS50 10 ჯერ. 1071 00:48:42,030 --> 00:48:44,540 ასე რომ, ხედავთ, აქ ჩვენ გვაქვს ჩვენი, და მაშინ ჩვენ 1072 00:48:44,540 --> 00:48:47,450 ინიციალიზაცია ცვლადი მე უნდა იყოს 0-ის ტოლი. 1073 00:48:47,450 --> 00:48:50,610 ჩვენი მდგომარეობა შემოწმების ის, რომ 10-ზე ნაკლები. 1074 00:48:50,610 --> 00:48:55,210 ასე შეაფასოს ჭეშმარიტი, როდესაც ჩვენ პირველად დაიწყოს, ხოლო შემდეგ განახლებები ჩვენი ცვლადი 1075 00:48:55,210 --> 00:48:58,985 ყოველ ჯერზე, რომ ის რეალურად ახორციელებს და ბეჭდავს out ეს არის CS50. 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 აჩერებს მას შემდეგ, რაც 10-ჯერ. 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 ზემოთ. 1080 00:49:04,070 --> 00:49:07,130 >> ასე რომ, ხოლო მარყუჟების მომავალი. 1081 00:49:07,130 --> 00:49:12,400 და როგორც ხედავთ, აქ, ჩვენ უბრალოდ უნდა ზოგიერთი ხოლო ამ პირობით კითხვა? 1082 00:49:12,400 --> 00:49:15,238 >> აუდიტორია: როგორ შემიძლია გადასვლა რეალურად მხოლოდ არა ერთი ნომერი, 1083 00:49:15,238 --> 00:49:19,030 მაგრამ ორი რიცხვის [INAUDIBLE] i plus plus plus? 1084 00:49:19,030 --> 00:49:23,390 >> ALLISON: ასე რომ კითხვა იყო, თუ როგორ შეგიძლიათ განახლება თქვენი ცვლადი ერთზე მეტი 1085 00:49:23,390 --> 00:49:24,070 დროს. 1086 00:49:24,070 --> 00:49:26,860 ასე რომ, მე plus plus იქნება განახლება თითო დროს. 1087 00:49:26,860 --> 00:49:32,310 თუ თქვენ სურდა განახლება მიერ ორი, შეიძლება ამის i პლუს შეადგენს 2. 1088 00:49:32,310 --> 00:49:34,526 >> რობ Bowden: გინახავთ პლუს შეადგენს ლექცია ჯერ არ გაქვთ? 1089 00:49:34,526 --> 00:49:35,442 >> აუდიტორია: [INAUDIBLE]. 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> ALLISON: ეს ეფექტურად იგივე, რაც უდრის i plus 2. 1092 00:49:42,110 --> 00:49:46,130 ასე რომ, ეს აპირებს მიიღოს და განახლება, ორი ყოველ ჯერზე. 1093 00:49:46,130 --> 00:49:49,432 Plus შეადგენს მხოლოდ ის, ჩვენ მოვუწოდებთ სინტაქსური შაქარი. 1094 00:49:49,432 --> 00:49:52,390 რობ Bowden: Yeah, ის არსებობს, რადგან საკმაოდ ბევრი ყველა არითმეტიკული მოქმედებები. 1095 00:49:52,390 --> 00:49:55,830 ასე რომ, მე ჯერ ტოლია გაორმაგდება რაოდენობა. 1096 00:49:55,830 --> 00:50:02,590 j გათიშე უდრის 3 არის იგივე როგორც j ტოლია j იყოფა 3-ზე. 1097 00:50:02,590 --> 00:50:07,399 >> ALLISON: მინუს შეადგენს 2 ​​აკეთებთ decrement i ორი ყოველ ჯერზე. 1098 00:50:07,399 --> 00:50:08,565 რობ Bowden: მაშინაც კი, mod შეადგენს. 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 თუ თქვენ არ მინახავს bitwise ოპერატორები, მაგრამ caret შეადგენს და ampersand შეადგენს, 1101 00:50:13,270 --> 00:50:14,560 ყველა იმ არსებობდა. 1102 00:50:14,560 --> 00:50:19,480 >> ALLISON: ასე, რომ ბევრი ჯერ, განსაკუთრებით თქვენი პირველი რამდენიმე P კომპლექტი, 1103 00:50:19,480 --> 00:50:22,527 თქვენ ალბათ დამატება მიერ ერთი, ასე რომ i პლუს პლუს, j plus plus 1104 00:50:22,527 --> 00:50:24,610 ყოველივე თქვენ აპირებს როგორც წესი, იყოს გამოყენებით. 1105 00:50:24,610 --> 00:50:28,240 მაგრამ, რომ განახლება მდგომარეობა არის სრულად თქვენი კონტროლი. 1106 00:50:28,240 --> 00:50:32,310 თქვენ შეგიძლიათ განაახლოთ იგი ნებისმიერი მდე ან ნებისმიერი გზა თქვენ გადაწყვიტეთ. 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 იქნებ უნდოდა, რომ იყოს შემთხვევითი ნომერი ზოგჯერ. 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 მაგრამ დიახ, არსებობს უამრავი რამ რისი გაკეთებაც შეგიძლიათ, რომ. 1111 00:50:39,580 --> 00:50:41,280 თქვენ არ შემოიფარგლება i plus plus. 1112 00:50:41,280 --> 00:50:44,400 >> რობ Bowden: უბრალოდ, ასე რომ თქვენ ვიცი, რომ არსებობს, ის ასევე 1113 00:50:44,400 --> 00:50:46,960 არსებობს სხვა ფორმით, plus plus i. 1114 00:50:46,960 --> 00:50:51,410 ასე რომ, თუ თქვენ ოდესმე ძებნას შემოსული და არ უნდა დაინახოს plus plus i, 1115 00:50:51,410 --> 00:50:52,870 საკმაოდ ბევრი იმას ნიშნავს, რომ იგივე. 1116 00:50:52,870 --> 00:50:54,377 1117 00:50:54,377 --> 00:50:54,960 ALLISON ზემოთ. 1118 00:50:54,960 --> 00:50:56,070 1119 00:50:56,070 --> 00:50:56,740 კარგი? 1120 00:50:56,740 --> 00:50:57,240 გასაოცარია. 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 ასე რომ, ხოლო მარყუჟების. 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 ძალიან ჰგავს. 1125 00:51:02,570 --> 00:51:03,737 თქვენ გაქვთ ზოგიერთი მდგომარეობა. 1126 00:51:03,737 --> 00:51:05,820 მთავარია შეამჩნია აქ არის იმის მაგივრად 1127 00:51:05,820 --> 00:51:08,540 სამი სხვადასხვა კუთხეში შეიქმნა, რომ ჩვენ გვაქვს ერთი. 1128 00:51:08,540 --> 00:51:11,090 ჩვენ მხოლოდ გარკვეული პირობით რომ მოწმდება. 1129 00:51:11,090 --> 00:51:14,920 და ანალოგიურად, რადგან რომ მდგომარეობა აფასებს ჭეშმარიტი, 1130 00:51:14,920 --> 00:51:16,840 თქვენი კოდი აპირებს. 1131 00:51:16,840 --> 00:51:18,870 და თუ ეს ყალბი, შეწყდება, ნაბიჯი 1132 00:51:18,870 --> 00:51:21,930 გადატანა მომდევნო ნაწილი თქვენი პროგრამა. 1133 00:51:21,930 --> 00:51:25,780 ასე რომ, ეს სახის მოსწონს რა კარგი მაგალითი იმისა, შემოწმების 1134 00:51:25,780 --> 00:51:27,215 ზოგიერთი ნორმალურ მდგომარეობაში? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL: მიუხედავად იმისა, რომ მართალია. 1137 00:51:30,235 --> 00:51:32,110 ALLISON: თქვენ შეიძლება ხოლო ჭეშმარიტი. 1138 00:51:32,110 --> 00:51:33,510 ასევე, 1-ის ტოლია 1. 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> რობ Bowden: თქვენ შეგიძლიათ ამის while-- მხოლოდ ნაცვლად გამოყენებით ამისთვის მარყუჟის, 1141 00:51:37,642 --> 00:51:39,600 თქვენ ყოველთვის შეგიძლიათ კოდექსი ამისთვის მარყუჟის, ხოლო მარყუჟის, 1142 00:51:39,600 --> 00:51:42,600 ასე რომ უფრო მეტი, ვიდრე 0 ან ხოლო მე ნაკლებია 10. 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> ALLISON: გასაოცარია. 1145 00:51:46,010 --> 00:51:50,640 და მაშინ ნუ ხოლო მარყუჟების, რომელიც დიდი შესახებ დადასტურება, სადაც 1146 00:51:50,640 --> 00:51:55,370 გსურთ მიიღოთ რაღაც თქვენს შესახებ, თუ იგი მოქმედებს, 1147 00:51:55,370 --> 00:51:57,060 და შემდეგ გააგრძელოს არსებობს. 1148 00:51:57,060 --> 00:52:04,000 ასე რომ, ერთი რამ იცოდეთ არის ამის გაკეთება, ხოლო ის არის, რომ ის აპირებს შეასრულოს, 1149 00:52:04,000 --> 00:52:08,000 და მერე ხელახლა შესრულდეს თუ ეს მდგომარეობა დაკმაყოფილებულია. 1150 00:52:08,000 --> 00:52:11,240 >> ასე რომ, ალბათ საუკეთესო გზა ამის არის მხოლოდ ვხედავთ, მაგალითად აქ. 1151 00:52:11,240 --> 00:52:14,620 ასე რომ, როგორც უკვე ვახსენე, შესახებ დადასტურება მართლაც useful-- 1152 00:52:14,620 --> 00:52:17,520 ან გააკეთოთ whiles მართლაც სასარგებლო მომხმარებლები დადასტურება. 1153 00:52:17,520 --> 00:52:19,730 ასე რომ, ეს მხოლოდ აპირებს ხელახლა შეეკითხება ზოგიერთი პროფაილი 1154 00:52:19,730 --> 00:52:23,640 სანამ ისინი შევა პოზიტიური ნომერი რომელიც შეიძლება სასარგებლო იყოს თქვენი P კომპლექტი 1155 00:52:23,640 --> 00:52:24,190 ამ კვირაში. 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 ასე რომ, ამ შემთხვევაში, როცა თავდაპირველად აწარმოებს ამ პროგრამის 1158 00:52:29,480 --> 00:52:32,260 ის აპირებს ბეჭდვა შესვლის დადებითი რიცხვი. 1159 00:52:32,260 --> 00:52:34,810 ის აპირებს, რომ რაღაც შეყვანის შესახებ, 1160 00:52:34,810 --> 00:52:38,320 და მაშინ იგი აპირებს შეამოწმოს, შეყვანის წინააღმდეგ მდგომარეობა 1161 00:52:38,320 --> 00:52:39,500 რომ თქვენ მითითებული ეს. 1162 00:52:39,500 --> 00:52:41,030 >> ასე რომ, ამ შემთხვევაში, ის აპირებს შეამოწმოს. 1163 00:52:41,030 --> 00:52:44,190 ის აპირებს იტყვით, ჩვენი input უარყოფითი, 1164 00:52:44,190 --> 00:52:47,175 ან არის 0 ან უარყოფითი, რომელიც იქნება ბათილად. 1165 00:52:47,175 --> 00:52:48,300 ასე რომ მაშინ ხელახლა ზოლზე. 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 კითხვა? 1168 00:52:50,780 --> 00:52:54,720 >> აუდიტორია: ეს იგივეა შემდეგ, როგორც ხოლო loop თუ უბრალოდ აკოპირებთ რომ კოდი 1169 00:52:54,720 --> 00:52:56,680 და აღნიშნა, რომ [INAUDIBLE] ხოლო loop? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> ALLISON: ასე კითხვა იყო რომ ეს იქნება იგივე, რაც მხოლოდ მაშინ, 1172 00:53:05,160 --> 00:53:08,570 loop, თუ ჩვენ მხოლოდ ასლი, ხოლო loop ზემოთ. 1173 00:53:08,570 --> 00:53:12,440 ასე რომ, ამ შემთხვევაში, თქვენი ხოლო loop აპირებს შეამოწმოს მდგომარეობა პირველი. 1174 00:53:12,440 --> 00:53:15,300 ასე რომ, ამ შემთხვევაში, თუ ჩვენ სცადა წერენ, უბრალოდ, ხოლო მარყუჟის, 1175 00:53:15,300 --> 00:53:18,010 რომ ვიტყოდი, ხოლო input ნაკლებია. 1176 00:53:18,010 --> 00:53:20,801 მაგრამ ჩვენ არ უნდა შეტანის იგი. 1177 00:53:20,801 --> 00:53:24,238 >> აუდიტორია: თუ თქვენ [INAUDIBLE] ხოლო მარყუჟის, მათ შორის, ამ კოდექსის, 1178 00:53:24,238 --> 00:53:28,166 მაგრამ მაშინ თქვენ გაართვა თავი კოდი ზემოთ ხოლო loop ასევე. 1179 00:53:28,166 --> 00:53:31,052 უბრალოდ ჰქონდა ამ კოდექსის [INAUDIBLE] ხოლო loop. 1180 00:53:31,052 --> 00:53:32,760 ALLISON: ეს იქნება იგივე, დიახ. 1181 00:53:32,760 --> 00:53:37,110 ასე, რომ თქვენ შეიძლება უბრალოდ დაწერა ნაცვლად, რომელმაც გავაკეთოთ დიახ. 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL: მაგრამ ეს უფრო დახვეწილი. 1184 00:53:39,350 --> 00:53:41,020 ALLISON: ჰო, უფრო დახვეწილი. 1185 00:53:41,020 --> 00:53:44,560 თქვენ შეგიძლიათ მიიღოთ დიზაინი და whatnot, მაგრამ დიახ, შეგიძლიათ მთლიანად ამის გაკეთება. 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 ნებისმიერი სხვა კითხვები? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 OK, ზემოთ. 1190 00:53:50,250 --> 00:53:55,540 >> ასე რომ, ჩვენ ვისაუბრეთ ბევრი მდგომარეობის შესახებ ყველა ამ მარყუჟების, რომ გვაქვს, 1191 00:53:55,540 --> 00:53:58,615 ასე რომ, ჩვენ რეალურად მიღების პირობები ლოგიკური გამონათქვამები. 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 კიდევ ერთხელ, გამოიყენოთ ეს C, ასე რომ მხოლოდ სახის გადასვლის 1194 00:54:03,440 --> 00:54:06,050 უფრო გრაფიკული ინტერფეისი რეალურად კოდირების. 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> მაგარი, ასე რომ დიდი, თუ. 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 ძირითადად, მხოლოდ საშუალებას მოგვცემს გააცნობს გარკვეული ლოგიკა ჩვენი პროგრამა და შემოწმება 1199 00:54:17,070 --> 00:54:17,790 sys პირობები. 1200 00:54:17,790 --> 00:54:22,150 ასე რომ, ამ შემთხვევაში, OK, არის n მეტია 0? 1201 00:54:22,150 --> 00:54:24,070 დიახ, ეს არის, ასე რომ შეგიძლიათ შეასრულოს ეს. 1202 00:54:24,070 --> 00:54:28,060 ეს მხოლოდ შემოწმების ზოგიერთი იმ პირობით, რომ თქვენ 1203 00:54:28,060 --> 00:54:33,565 მითითებული, რომელიც მე ვფიქრობ, რომ ჩვენ ყველა კომფორტული შემოწმების პირობებში. 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 ზემოთ. 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 ასე რომ, თუ სხვაგან არის თქვენი მხრივ, შეიძლება ითქვას, OK, თუ ეს მართლაც ასეა, 1208 00:54:44,530 --> 00:54:46,150 ამისათვის პირველ რიგში. 1209 00:54:46,150 --> 00:54:48,720 წინააღმდეგ შემთხვევაში, მე მინდა, რომ ძირითადად და გააკეთოს რაღაც. 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 როგორც ამ შემთხვევაში, თქვენ შეგიძლიათ აირჩიოთ დადებითია ან უარყოფითი რიცხვი. 1212 00:54:55,060 --> 00:54:56,500 თქვენ მხოლოდ ორი ვარიანტი. 1213 00:54:56,500 --> 00:54:59,550 თქვენ გჭირდებათ რომ შეასრულოს, მიუხედავად იმისა, რა თქვენი მომხმარებლის საშუალებებით. 1214 00:54:59,550 --> 00:55:02,920 ასე შეიძლება ითქვას, ასევე, არის ეს მეტია 0? 1215 00:55:02,920 --> 00:55:03,480 ზემოთ. 1216 00:55:03,480 --> 00:55:04,480 ბეჭდვა დადებითი რიცხვი. 1217 00:55:04,480 --> 00:55:06,153 თუ ეს არ არის, ბეჭდვა უარყოფითი. 1218 00:55:06,153 --> 00:55:06,960 ყველას კარგი? 1219 00:55:06,960 --> 00:55:14,920 >> და მაშინ ერთი რამ აღიარებენ, იმ შემთხვევაში, თუ თუ მდგომარეობა დაკმაყოფილებულია, 1220 00:55:14,920 --> 00:55:16,650 სხვაგან არასდროს შესრულდეს. 1221 00:55:16,650 --> 00:55:19,210 მხოლოდ ერთი იქნება შეასრულოს დროს. 1222 00:55:19,210 --> 00:55:20,410 ამიტომ ვაჭრობის off. 1223 00:55:20,410 --> 00:55:21,720 თქვენ არ უნდა ჰქონდეს ორივე. 1224 00:55:21,720 --> 00:55:23,566 თქვენ ან უნდა პირველი პირობა. 1225 00:55:23,566 --> 00:55:25,440 თქვენ შეგიძლიათ აქვს თუ ან სხვა, არა ორივე. 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 რომელიც შემდეგ შეგიძლიათ მიიღოს რამ კიდევ უფრო რთული, 1228 00:55:28,890 --> 00:55:31,060 იმიტომ, რომ თქვენ არ შეუძლია გააკეთოს, თუ, სხვაგან იგი, და შემდეგ სხვას. 1229 00:55:31,060 --> 00:55:32,810 ასე რომ, ამ შემთხვევაში, ჩვენ აქვს სამი პირობები. 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 ისევ და ისევ, მხოლოდ ერთი არის აპირებს დასრულდება მდე ხორციელდება. 1232 00:55:38,370 --> 00:55:41,030 ასე, რომ თქვენ შეიძლება გაინტერესებთ ასევე, თუ თქვენ 1233 00:55:41,030 --> 00:55:45,510 აქვს, რომ რაღაც შეიძლება შეხვდეს ორი. 1234 00:55:45,510 --> 00:55:49,520 იქნებ რაც თქვენ შესაყვანი შეხვედრა ორივე მდგომარეობა 1235 00:55:49,520 --> 00:55:51,811 რადგან, თუ და სხვაგან თუ. 1236 00:55:51,811 --> 00:55:53,060 ერთადერთი, რაც აპირებს 1237 00:55:53,060 --> 00:55:56,240 >> ALLISON როგორც კი იგი პოულობს რაიმე რომ აკმაყოფილებს პირობას, რომ 1238 00:55:56,240 --> 00:55:59,790 აფასებს ჭეშმარიტი, რომ ის, რაც ის აპირებს და სხვა არაფერი. 1239 00:55:59,790 --> 00:56:04,440 ისე, თითქოს ეს ნომერი 0-დან 5 თქვენი პირველი, 1240 00:56:04,440 --> 00:56:10,530 თუ ეს რიცხვი 3 და 5 სხვაგან თუ ნაწილი, 1241 00:56:10,530 --> 00:56:15,550 და თქვენ შეყვანის number-- მე ვთქვი, 0-დან 5 and-- 4. 1242 00:56:15,550 --> 00:56:18,110 ის აპირებს მოხვდა პირველი. 1243 00:56:18,110 --> 00:56:20,960 ის აპირებს ამბობენ, OK, ამ ნომერი 0-დან 5. 1244 00:56:20,960 --> 00:56:22,480 შეასრულოს და დატოვოს. 1245 00:56:22,480 --> 00:56:25,340 ის არასოდეს არ მოხვდა, რომ მეორე ვარიანტი. 1246 00:56:25,340 --> 00:56:26,394 მაგარი? 1247 00:56:26,394 --> 00:56:27,250 გასაოცარია. 1248 00:56:27,250 --> 00:56:31,300 >> OK, ჩვენ ასევე გვაქვს switch განცხადებები, თუ გსურთ მიიღოთ კიდევ more-- ან უკაცრავად, 1249 00:56:31,300 --> 00:56:31,965 switch არის შემდეგი. 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 მე მიღების წინ თავს აქ. 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 ერთხელ, მრავალი, თუ ბლოკები სადაც, როგორც ვთქვი 1254 00:56:39,210 --> 00:56:45,600 არის, როგორც კი თქვენ აღმოაჩენთ მდგომარეობა რომ შეხვდა და თუ სხვაგან, თუ სხვაგან, 1255 00:56:45,600 --> 00:56:46,630 იგი ტოვებს. 1256 00:56:46,630 --> 00:56:49,560 თუ თქვენ უნდა შეამოწმოთ მრავალი რამ, თქვენ 1257 00:56:49,560 --> 00:56:53,000 აპირებს გინდათ გამოიყენოთ ეს იმიტომ, ის შეამოწმებს ყოველ ჯერზე აქ. 1258 00:56:53,000 --> 00:56:58,060 ასე რომ, ეს გაივლის და თუ ეს უფრო მეტია, ვიდრე ან ტოლია 90, 1259 00:56:58,060 --> 00:56:59,160 ის აპირებს ბეჭდვა. 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 და ის აწარმოებს მეშვეობით და შეამოწმეთ თითოეული მათგანი. 1262 00:57:03,600 --> 00:57:06,444 >> აუდიტორია: ასე რომ, ეს იქნება უფრო buggy მეტი [INAUDIBLE]. 1263 00:57:06,444 --> 00:57:07,735 ეს იყოს, როგორც [INAUDIBLE]? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> ALLISON: კითხვაზე უნდა იყოს ეს buggy ან არ გააკეთებს, რაც გსურთ. 1266 00:57:15,740 --> 00:57:19,830 ეს ნამდვილად დამოკიდებულია რა გსურთ თქვენი პროგრამა. 1267 00:57:19,830 --> 00:57:22,291 >> აუდიტორია: მე ვგულისხმობ, როგორიცაა, თუ თქვენ დააყენა 90. 1268 00:57:22,291 --> 00:57:23,290 ALLISON: თუ დააყენა 90-- 1269 00:57:23,290 --> 00:57:24,206 აუდიტორია: [INAUDIBLE]. 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL თქვენ აპირებს მიიღოს ორი რამ. 1272 00:57:27,250 --> 00:57:28,916 ALLISON თქვენ აპირებს მიიღოს ორი რამ. 1273 00:57:28,916 --> 00:57:29,420 დიახ, ორი. 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> რობ Bowden: ორი? 1276 00:57:33,920 --> 00:57:34,580 >> ALLISON: No. 1277 00:57:34,580 --> 00:57:35,288 >> რობ Bowden: Four. 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 თუ თქვენ დააყენა 90, ის აპირებს ამბობენ, რომ თქვენ მივიღე, შენ B, შენ C, 1280 00:57:40,070 --> 00:57:40,545 შენ დ 1281 00:57:40,545 --> 00:57:41,461 >> აუდიტორია: [INAUDIBLE]. 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 ALLISON: Right. 1284 00:57:42,820 --> 00:57:44,778 ასე რომ, მე დამოკიდებული, თუ რა მინდა თქვენგან პროგრამა. 1285 00:57:44,778 --> 00:57:47,050 ზოგჯერ თქვენ უნდა შეამოწმეთ მრავალი რამ. 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 თქვენ მიიღებთ უფრო ღრმა შევიდა რა კარგი დიზაინი, როგორც თქვენ წავიდეთ წინ. 1288 00:57:55,270 --> 00:57:57,090 მთავარია, რომ გააცნობიეროს, ის არის, რომ ამ 1289 00:57:57,090 --> 00:58:01,090 შეამოწმებს ოთხივე პირობები აქ. 1290 00:58:01,090 --> 00:58:05,860 ხოლო თუ ეს იყო, თუ სხვაგან, თუ სხვაგან თუ სხვაგან, რომ მოხვდა, რომ პირველ შემთხვევაში, 1291 00:58:05,860 --> 00:58:07,950 ეს იქნებოდა ბეჭდვა შენ და უნდა გაკეთდეს. 1292 00:58:07,950 --> 00:58:10,250 >> რობ Bowden: მაშინაც კი, თუ ჩვენ გადაწყვიტა, რომ შეიცვალოს ეს თუ 1293 00:58:10,250 --> 00:58:13,880 და მეტია ან ტოლია 90, თუ და მეტია ან ტოლია 80, 1294 00:58:13,880 --> 00:58:19,710 ნაკლები ან ტოლია 89 თუ n მეტია ან ტოლია 70- 1295 00:58:19,710 --> 00:58:23,830 და n ნაკლებია ან ტოლი 79, ისე, რომ იქნება სწორი. 1296 00:58:23,830 --> 00:58:27,190 რომ ყველაფერს გააკეთებს, რაც ჩვენ გვინდა, მაგრამ ის კვლავ ამოწმებს თითოეული ეს. 1297 00:58:27,190 --> 00:58:34,050 >> ასე რომ, ხოლო პირველი სცენარი, თუ ჩვენ შესვლის 90 მხოლოდ თუ სხვაგან, თუ სხვაგან, თუ 1298 00:58:34,050 --> 00:58:37,300 და ჩვენ შევა 90, მაშინ ის აპირებს გამოსწორებას. 1299 00:58:37,300 --> 00:58:39,615 ის შეამოწმებს პირველი ერთი, ბეჭდვითი შენ, 1300 00:58:39,615 --> 00:58:42,590 გაფართოებული ყველაფერი, რადგან იგი უკვე ნაპოვნია, რომ სამუშაოები. 1301 00:58:42,590 --> 00:58:46,360 ყველა შემთხვევაში ურთიერთგამომრიცხავი საფუძველზე, თუ სხვაგან, თუ სხვაგან თუ. 1302 00:58:46,360 --> 00:58:48,630 ასე რომ თქვენ შეასრულოს პირველი, თუ, მაშინ ეს კეთდება. 1303 00:58:48,630 --> 00:58:49,790 ის კიდე ბოლომდე. 1304 00:58:49,790 --> 00:58:52,400 >> ხოლო თუ ჩვენ შეიცვლება ეს უნდა იყოს რაც მე 1305 00:58:52,400 --> 00:58:54,204 ამბობს ნაკლები ან ტოლია 89. 1306 00:58:54,204 --> 00:58:55,620 ის აპირებს შეამოწმოს პირველი. 1307 00:58:55,620 --> 00:58:56,560 ეს კიდე ბეჭდვა. 1308 00:58:56,560 --> 00:58:58,010 ეს თქვენ შეამოწმოს მეორე. 1309 00:58:58,010 --> 00:58:59,010 ის არ აპირებს ბეჭდვა. 1310 00:58:59,010 --> 00:58:59,910 შეამოწმეთ მესამე. 1311 00:58:59,910 --> 00:59:00,620 არ აპირებს ბეჭდვა. 1312 00:59:00,620 --> 00:59:01,495 შეამოწმეთ მეოთხე. 1313 00:59:01,495 --> 00:59:02,420 ახლა აპირებს ბეჭდვა. 1314 00:59:02,420 --> 00:59:05,380 ასე რომ, ამ შემთხვევაში, სხვა თუ ვერსია, რადგან ამ შემთხვევაში 1315 00:59:05,380 --> 00:59:09,120 ურთიერთგამომრიცხავ, ეს უკეთესი გამოყენების თუ სხვაგან, თუ სხვაგან, თუ 1316 00:59:09,120 --> 00:59:12,970 იმიტომ, რომ აპირებს ნაკლები ამოწმებს პირობები 1317 00:59:12,970 --> 00:59:14,750 ვიდრე ეს ვერსია. 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 ALLISON: გასაოცარია. 1320 00:59:18,400 --> 00:59:20,580 ასე რომ, ერთი რამ შეგვიძლია, გავაკეთოთ არის switch განცხადებები. 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 ძირითადად შეცვლა განცხადება იღებს რამდენიმე ცვლადი, 1323 00:59:25,270 --> 00:59:28,780 ამ შემთხვევაში, ეს არის n, და რომელიც განსაზღვრავს საქმე შეასრულოს. 1324 00:59:28,780 --> 00:59:33,106 ასე რომ, ეს არის ერთ-ერთი, სადაც თქვენს შემთხვევაში უნდა იყოს ისეთი ურთიერთგამომრიცხავი. 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 ასე რომ, ამ შემთხვევაში, თუ ჩვენ მივიღებთ ერთი, ეს 1327 00:59:37,940 --> 00:59:42,270 აპირებს ემთხვევა რასაც ცვლადი რასაც ღირებულება n 1328 00:59:42,270 --> 00:59:48,700 არის ერთ-ერთი ასეთი შემთხვევა, ასე რომ 1, 2, ან 3 და ამობეჭდოთ შესაბამისი ხაზი. 1329 00:59:48,700 --> 00:59:51,870 >> და შემდეგ თუ თქვენ შეამჩნევთ აქ, ჩვენ ასევე გვაქვს რა, 1330 00:59:51,870 --> 00:59:54,670 რომელიც შეგიძლიათ ვფიქრობ, როგორც თქვენი სხვა. 1331 00:59:54,670 --> 00:59:58,510 ასე რომ, თუ თქვენ შეარჩიო ნებისმიერი სხვა ნომერი გარდა ამისა, 1, 2 და 3 ამ შემთხვევაში, 1332 00:59:58,510 --> 00:59:59,885 ეს მხოლოდ აპირებს ბეჭდვა არასწორია. 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 გადამწყვეტი როდესაც გამოყენება ifs წინააღმდეგ თუ elses წინააღმდეგ კონცენტრატორები აპირებს 1335 01:00:08,390 --> 01:00:12,590 რამ, რომ თქვენ ბიჭები იხილეთ დიზაინი ბრძენი დაიწყოს წერა 1336 01:00:12,590 --> 01:00:15,270 უფრო რთული პროგრამები და არ არსებობს მყარი და სწრაფი წესები 1337 01:00:15,270 --> 01:00:16,330 , როდესაც მათი გამოყენება. 1338 01:00:16,330 --> 01:00:17,890 ეს ნამდვილად დამოკიდებულია თქვენს კონტექსტში. 1339 01:00:17,890 --> 01:00:18,590 >> რობ Bowden: და უბრალოდ იმისათვის, რომ იგი არსებობს, 1340 01:00:18,590 --> 01:00:20,131 მას შემდეგ, რაც უფრო კომფორტული მონაკვეთზე. 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 კომუტატორები, ისინი, როგორც წესი, be-- ასე რომ თქვენ შეზღუდული 1343 01:00:25,053 --> 01:00:27,430 რაოდენობის გზა შეიძლება მათი გამოყენება, რადგან IFS, 1344 01:00:27,430 --> 01:00:30,100 მდგომარეობა შეიძლება იყოს საკმაოდ ბევრი არაფერი გსურთ. 1345 01:00:30,100 --> 01:00:33,410 ერთად ცვლის იმ შემთხვევაში, უნდა იყოს ნომრები, 1346 01:00:33,410 --> 01:00:37,770 ან ტექნიკურად ისინი შეიძლება სიმბოლო, მაგრამ სიმბოლო, როგორც ვნახავთ, არის მხოლოდ ციფრები. 1347 01:00:37,770 --> 01:00:44,250 ასე რომ, ისინი უნდა იყოს ნომრები, მაგრამ კონცენტრატორები მართლაც უფრო ეფექტურია, ვიდრე თუ 1348 01:00:44,250 --> 01:00:50,060 სხვაგან, თუ სხვაგან, თუ იმიტომ, რომ თუნდაც აღების მაგალითად ადრე, ასევე, 1349 01:00:50,060 --> 01:00:51,486 grade მაგალითი, როგორც ჩანს კარგი. 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> ასევე ვთქვათ, ჩვენ, ნაცვლად გააკეთოს ეს როგორც თუ სხვაგან, თუ სხვაგან, თუ საქმე. 1352 01:00:57,080 --> 01:01:00,930 ასე რომ, თუ n უდრის უდრის 1, ბეჭდვა აიყვანეს დაბალი ნომერი. 1353 01:01:00,930 --> 01:01:04,490 თუ სხვაგან, თუ n უდრის უდრის 2, თქვენ აიყვანეს საშუალო ნომერი. 1354 01:01:04,490 --> 01:01:06,550 სხვაგან, თუ უდრის უდრის 3, მაღალი. 1355 01:01:06,550 --> 01:01:08,060 სხვა არასწორია. 1356 01:01:08,060 --> 01:01:09,820 >> ასე ვთქვათ, ეს იყო ჩვენი საქმე. 1357 01:01:09,820 --> 01:01:14,060 ასე ვთქვათ, ჩვენ შევა 4, ამიტომ ჩვენ ველით, რომ არასწორია. 1358 01:01:14,060 --> 01:01:17,410 ისე, რომ, თუ სხვაგან, თუ სხვაგან თუ მიდგომა იმუშავებს არის 1359 01:01:17,410 --> 01:01:18,740 ამოწმებს პირველი პირობა. 1360 01:01:18,740 --> 01:01:19,776 ის არ დააკმაყოფილა. 1361 01:01:19,776 --> 01:01:21,150 ასე რომ, ჩვენ შეამოწმოს მეორე მდგომარეობაში. 1362 01:01:21,150 --> 01:01:21,940 ის არ დააკმაყოფილა. 1363 01:01:21,940 --> 01:01:23,023 შეამოწმეთ მესამე მდგომარეობა. 1364 01:01:23,023 --> 01:01:23,640 არ დაკმაყოფილდა. 1365 01:01:23,640 --> 01:01:26,650 ამიტომ ჩვენ სხვას და ბეჭდვა არასწორია. 1366 01:01:26,650 --> 01:01:30,169 >> გზა შეცვლა სამუშაოები არის ის ადგენს ქვემოთ 1367 01:01:30,169 --> 01:01:31,960 შევიდა, რასაც ჩვენ ვაპირებთ მოვუწოდებთ jump მაგიდაზე. 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 მთავარი იდეა ყოფნა რომ როდესაც გადიხარ 4, 1370 01:01:37,120 --> 01:01:39,090 მას შეუძლია დაუყოვნებლივ წასვლა იყოს. 1371 01:01:39,090 --> 01:01:41,460 ეს არ უნდა შეამოწმოს am I შემთხვევაში 1? 1372 01:01:41,460 --> 01:01:42,350 Nope, რომ ეს არ არის ის. 1373 01:01:42,350 --> 01:01:42,850 საქმე 2? 1374 01:01:42,850 --> 01:01:43,240 Nope. 1375 01:01:43,240 --> 01:01:43,770 შემთხვევაში 3? 1376 01:01:43,770 --> 01:01:44,270 Nope. 1377 01:01:44,270 --> 01:01:45,090 იყოს. 1378 01:01:45,090 --> 01:01:47,610 OK, ეს უნდა იყოს, სადაც მე გსურთ, და შემდეგ შეასრულოს, რომ. 1379 01:01:47,610 --> 01:01:49,590 არა, იგი მაშინვე გადასვლა იყოს. 1380 01:01:49,590 --> 01:01:51,900 ან ის შევდივარ 2, ეს დაუყოვნებლივ უნდა წავიდეს 2 1381 01:01:51,900 --> 01:01:54,060 გარეშე სჭირდება გავლა შემთხვევაში 1. 1382 01:01:54,060 --> 01:01:57,820 >> ასე რომ, ამ გზით, რეალურად დღეს, რომ ის, 1383 01:01:57,820 --> 01:02:00,250 არ არის, რომ ბევრი ეფექტურობის მომატება. 1384 01:02:00,250 --> 01:02:02,880 როგორც წესი, კომპიუტერი საკმაოდ სწრაფი, და ეს არ არის დიდი. 1385 01:02:02,880 --> 01:02:07,270 მაგრამ ეს იმ შემთხვევაში, რომ კონცენტრატორები სწრაფად. 1386 01:02:07,270 --> 01:02:10,380 თუ თქვენ ნამდვილად ცდილობს ოპტიმიზაცია, გამოიყენოთ შეცვლა. 1387 01:02:10,380 --> 01:02:11,980 1388 01:02:11,980 --> 01:02:12,710 >> ALLISON ზემოთ. 1389 01:02:12,710 --> 01:02:15,270 და მაშინ ჩვენ გვაქვს ternary ოპერატორს. 1390 01:02:15,270 --> 01:02:19,470 მე ვიცი, მე ზემოთ აღინიშნა, სიტყვა სინტაქსური შაქარი. 1391 01:02:19,470 --> 01:02:24,160 ასე რომ, ეს მხოლოდ იმას, რომ თქვენი კოდი ბევრად უფრო მოკლე. 1392 01:02:24,160 --> 01:02:25,590 ასე რომ ეს არის ერთ-ერთი იმ შემთხვევებში. 1393 01:02:25,590 --> 01:02:31,430 >> ასე ternary ოპერატორი კითხვის ნიშნის მსხვილი ნაწლავის როგორც ვხედავთ ხაზი string 1394 01:02:31,430 --> 01:02:35,810 s უდრის n მეტია 100 კითხვის ნიშნის მაღალი colon დაბალია. 1395 01:02:35,810 --> 01:02:41,800 ასე რომ, ძირითადად, როგორ მუშაობს ეს არის ის, n აღემატება 100 არის მდგომარეობა. 1396 01:02:41,800 --> 01:02:43,674 ასე რომ, მე ვფიქრობ, რომ ეს შეიძლება აზრი. 1397 01:02:43,674 --> 01:02:44,840 ეს იგივეა, სვამს კითხვას. 1398 01:02:44,840 --> 01:02:47,320 ის ამბობდა oh, არის n მეტია 100. 1399 01:02:47,320 --> 01:02:48,340 ვინ იცის? 1400 01:02:48,340 --> 01:02:50,750 და თუ იგი აფასებს მართალია, ის აპირებს გაძლევთ 1401 01:02:50,750 --> 01:02:54,270 პირველი ისაა, რომ ჩამოთვლილი, რომელიც მაღალი. 1402 01:02:54,270 --> 01:02:55,840 წინააღმდეგ შემთხვევაში, ის აპირებს გაძლევთ დაბალია. 1403 01:02:55,840 --> 01:03:01,210 ასე რომ, ეს უბრალოდ მართლაც მარტივი და ეფექტური გზა უნდა გააკეთოს, როგორიცაა, თუ სხვაგან. 1404 01:03:01,210 --> 01:03:02,780 ეს არის ის, რომ ეს ყველაფერი არის. 1405 01:03:02,780 --> 01:03:07,450 >> და თუ ჩვენ წერენ ეს როგორც თუ სხვაგან პირობითი, 1406 01:03:07,450 --> 01:03:12,480 ეს იქნება, თუ N არის დიდი 100-ზე მეტი, დაბრუნდნენ მაღალია. 1407 01:03:12,480 --> 01:03:14,220 სხვაგან, დაბრუნდეს დაბალია. 1408 01:03:14,220 --> 01:03:17,570 ეს არის მხოლოდ ბევრად უფრო მოკლე გზა წერის იგი. 1409 01:03:17,570 --> 01:03:27,090 >> რობ Bowden: ასე რომ ამ კონკრეტულ მაგალითს არის, როდესაც თქვენ აკეთებთ რაღაც 1410 01:03:27,090 --> 01:03:30,190 როგორც ეს, ეს არის ნიმუში სადაც მე გამოიყენოს ternary ძალიან ხშირად. 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 ასე რომ, ჩვენ არ ისაუბრა ფარგლებს არ არის, მაგრამ მე სიძულვილის ხედავს string s მძიმით. 1413 01:03:35,460 --> 01:03:39,150 თუ n მეტია 100, ტოლია მაღალია. 1414 01:03:39,150 --> 01:03:40,660 სხვაგან, ტოლია დაბალია. 1415 01:03:40,660 --> 01:03:45,070 ასე რომ ნიმუში, იმ ხუთი ხაზები კოდი ფაქტიურად 100% დროის 1416 01:03:45,070 --> 01:03:49,800 შეიძლება გადადის რა იყო იქ ternary. 1417 01:03:49,800 --> 01:03:52,340 ასე რომ ternary, ერთი ხაზი კოდი. 1418 01:03:52,340 --> 01:03:54,640 თუ სხვაგან, ხუთი. 1419 01:03:54,640 --> 01:03:56,910 ეს მაგალითი აღვნიშნო out თითოეული დრო. 1420 01:03:56,910 --> 01:03:59,250 ეს, რა დიდი ადგილი for ternary ოპერატორს. 1421 01:03:59,250 --> 01:04:00,647 ეს იმდენად სუფთა. 1422 01:04:00,647 --> 01:04:01,980 მაგრამ ხალხი, როგორც წესი, არასოდეს გამოიყენებს მას. 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> ALLISON: მიიღეთ ის დაშორებით Gabe. 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL: ახლა ბიჭები ყველა შეიტყო ლექციას ამ კვირაში 1426 01:04:11,110 --> 01:04:13,420 რომ ყველაფერი კომპიუტერი ორობითი, არა? 1427 01:04:13,420 --> 01:04:14,570 ისევე, როგორც ნათურები აქ. 1428 01:04:14,570 --> 01:04:16,492 თქვენ შეიძლება იყოს ჩართული და გამორთვის. 1429 01:04:16,492 --> 01:04:18,450 და ყველაფერი, ვგულისხმობ ფაქტიურად ყველაფერი. 1430 01:04:18,450 --> 01:04:24,272 ზოგიერთი ნომრები, და chars და სიმები, და კიდევ კოდი რომ წერთ, როდესაც 1431 01:04:24,272 --> 01:04:26,480 იგი იღებს შედგენილი, რომ მანქანა კოდი და პერსონალის მოსწონს, 1432 01:04:26,480 --> 01:04:29,230 ასე რომ, ეს ყველაფერი boils ქვემოთ 0 და 1. 1433 01:04:29,230 --> 01:04:34,540 >> ასე რომ, როდესაც ჩვენ საქმე რიცხვებით, რომელიც 1434 01:04:34,540 --> 01:04:38,000 არის ის, რომ ტექნიკურად ძალიან მარტივი, ჩვენ უნდა გავაკეთოთ პერსონალის 1435 01:04:38,000 --> 01:04:40,630 როგორიცაა დასძინა მათგანი, რომელიც ალბათ ერთ ერთი მარტივი რამ 1436 01:04:40,630 --> 01:04:42,300 შეგიძლიათ გააკეთოთ, რომ ორი მთელი რიცხვები, არა? 1437 01:04:42,300 --> 01:04:47,410 ასე რომ, გარდა და გამოკლებაში მუშაობს მხოლოდ როგორც ეს ცივილურ ათობითი ნოტაცია, 1438 01:04:47,410 --> 01:04:50,780 გარდა აქ ეს ორობითი, არა? 1439 01:04:50,780 --> 01:04:52,090 ასე რომ, ეს ბაზის ორი. 1440 01:04:52,090 --> 01:04:54,070 ასე რომ დაამატოთ 1 plus 1. 1441 01:04:54,070 --> 01:04:57,020 რომელიც იძლევა 0, და 1 ახორციელებს. 1442 01:04:57,020 --> 01:05:01,335 და უბრალოდ აკეთეთ, რომ ახლა გააჩნია უფრო საინტერესო კითხვა. 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> ჩვენ ვიცით, როგორ წარმოადგენს ყველა დადებითი რიცხვებით კომპიუტერი, 1445 01:05:07,710 --> 01:05:09,870 მაგრამ მოდით ეს exercise. 1446 01:05:09,870 --> 01:05:15,240 თითქოს თქვენ ბიჭები არიან ყველა 1960 და რაღაც ცდილობს შექმნას კომპიუტერი, 1447 01:05:15,240 --> 01:05:19,950 და თქვენ უნდა ამუშავება of გზა შენახვის მინუს 1, 1448 01:05:19,950 --> 01:05:22,554 მაგალითად, თუ გამოკლებით მთელი საქმე. 1449 01:05:22,554 --> 01:05:23,470 რა გავაკეთოთ, რომ? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 ნებისმიერი იდეები? 1452 01:05:29,220 --> 01:05:31,302 მხოლოდ იმისათვის, რომ არაფერი ჩემთვის. 1453 01:05:31,302 --> 01:05:32,264 დიახ? 1454 01:05:32,264 --> 01:05:39,480 >> აუდიტორია: [INAUDIBLE] დანიშნოს სპეციალური თუ თქვენი [INAUDIBLE]. 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL: შეგიძლიათ დანიშნოს სპეციალური bit, რომელიც იქნება 0 ან 1. 1456 01:05:42,590 --> 01:05:45,590 მოდით ვთქვათ, ერთ შემთხვევაში ეს დადებითი და 0 თუ უარყოფითი. 1457 01:05:45,590 --> 01:05:48,171 და შემდეგ დანარჩენი bit მხოლოდ შესანახად ნომერი. 1458 01:05:48,171 --> 01:05:48,670 ზემოთ. 1459 01:05:48,670 --> 01:05:49,990 ასე რომ, ეს ძალიან კარგი იდეა. 1460 01:05:49,990 --> 01:05:51,550 ჩვენ გვაქვს, არ ვიცი, 200. 1461 01:05:51,550 --> 01:05:54,720 და თუ პირველი ცოტა აღმოჩნდა, მაშინ ეს plus 200. 1462 01:05:54,720 --> 01:05:57,270 თუ ეს არ მოხდა off, ეს არის მინუს 200. 1463 01:05:57,270 --> 01:05:58,380 ზემოთ. 1464 01:05:58,380 --> 01:06:01,350 >> არსებობს მხოლოდ ერთი პატარა პრობლემა, 1465 01:06:01,350 --> 01:06:05,370 რომელიც, თუ ჩვენ ვცდილობთ, რომ მთლიანობაში ყველაფერი მდე. 1466 01:06:05,370 --> 01:06:18,910 წარმოიდგინეთ ჩვენ გვაქვს 11111 აქ, და ჩვენ შემაჯამებელი ამ 00100 რასაც. 1467 01:06:18,910 --> 01:06:21,630 თუ ეს ორი დადებითი, რომ ჯარიმა. 1468 01:06:21,630 --> 01:06:24,470 მაგრამ შემდეგ, თუ ერთი მათ უარყოფითი, როგორიცაა 1469 01:06:24,470 --> 01:06:27,410 მოდით ვთქვათ, რომ ეს ცოტა აქ არის ერთი, რომ პასუხისმგებელი 1470 01:06:27,410 --> 01:06:31,390 for-- მე ვაპირებ, რათა separate-- ასე რომ, ეს ნიშნავს, რომ ეს რიცხვი აქ 1471 01:06:31,390 --> 01:06:31,970 არის დადებითი. 1472 01:06:31,970 --> 01:06:34,450 ეს ნიშნავს, რომ ეს ნომერი აქ არის უარყოფითი, არა? 1473 01:06:34,450 --> 01:06:37,010 >> მაგრამ მაშინ, როდესაც თქვენ აპირებს მთლიანობაში მათ, თქვენ 1474 01:06:37,010 --> 01:06:40,180 უნდა თუ განაცხადი ამბობდა oh თუ ეს არის 0, 1475 01:06:40,180 --> 01:06:43,479 მაშინ ჩემი თანხა იქნება რაღაც განსხვავებული, არა? 1476 01:06:43,479 --> 01:06:45,270 ასე რომ იქ ოდნავ უფრო ჭკვიანი გზა უნდა გააკეთოს, 1477 01:06:45,270 --> 01:06:48,520 რომ, რომელსაც ორი ს შეავსებს. 1478 01:06:48,520 --> 01:06:52,350 ასე რომ, ძირითადად, რასაც ჩვენ არის ჩვენ განსაზღვრავს მინუს 1 1479 01:06:52,350 --> 01:06:57,250 უნდა იყოს, რომ თუ ჩვენ დაამატოთ მდე 1 გვაძლევს 0. 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 კიდევ ერთხელ ვიმეორებ, რომ. 1482 01:07:00,860 --> 01:07:03,280 ასე ვთქვათ, რომ ეს აქ არის 1. 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 რა არის ის, რომ ბუნებრივია დადებითი რიცხვებით 1485 01:07:13,570 --> 01:07:15,570 დაემატა, რომელიც გვაძლევს 0? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 რა მოხდება, თუ ჩვენ ვცდილობთ, რომ დაამატოთ ეს ამ ნომერი? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 ჩვენ ვაპირებთ აქვს OK, მოდით დაამატოთ. 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 ჩვენ ვაპირებთ, რომ 1 + 1 0, და მაშინ იგი ახორციელებს. 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 და მაშინ ჩვენ ვაპირებთ, რომ მიიღოთ 0 ერთხელ. 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 მე მისაღებად დაბნეული. 1496 01:07:48,820 --> 01:07:51,670 და თქვენ აპირებს მიიღოს 0 და 0 0 და 0 0 და 0. 1497 01:07:51,670 --> 01:07:52,450 უამრავი 0. 1498 01:07:52,450 --> 01:07:56,240 >> ძალიან ბოლო, ჩვენ არ ვართ აპირებს შეძლებს შეასრულოს ის მეტი, 1499 01:07:56,240 --> 01:07:59,614 იმის გამო, რომ ვთქვათ, ჩვენ მხოლოდ საქმე ერთი byte, ასე რომ მხოლოდ 8 ბიტი. 1500 01:07:59,614 --> 01:08:02,780 ასე რომ, რა კომპიუტერი არ იყოს არის მხოლოდ ავიწყდება, რომ [INAUDIBLE], 1501 01:08:02,780 --> 01:08:03,279 OK? 1502 01:08:03,279 --> 01:08:04,530 1503 01:08:04,530 --> 01:08:06,880 ასე რომ, ეს არის ე.წ. ორ ს შეავსებს. 1504 01:08:06,880 --> 01:08:15,180 ჩვენ უბრალოდ განსაზღვრავს მინუს 1 იყოს რამ აქ რომ თუ თქვენ დაამატებთ, რომ 1 1505 01:08:15,180 --> 01:08:15,995 გაძლევთ 0. 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 და ეს საკმაოდ cool იმიტომ, რომ ჩვენ ნამდვილად არ 1508 01:08:20,180 --> 01:08:24,090 უნდა გვიან განახორციელოს სხვადასხვა ტიპის თანხა 1509 01:08:24,090 --> 01:08:26,590 დამოკიდებულია თუ არა, რომ უარყოფითი ან დადებითი რიცხვი. 1510 01:08:26,590 --> 01:08:27,465 ამჯამად რომ აზრი? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> ასე რომ ერთი რამ, რასაც ჩვენ ვაკეთებთ აქ, რათა დააკონვერტიროთ 1513 01:08:32,370 --> 01:08:38,550 შორის პოზიტიური და ნეგატიური რიცხვი მაშინ ჩვენ Flip ყველაფერი, 1514 01:08:38,550 --> 01:08:40,930 და შემდეგ დავუმატებთ 1 რომ ნომერი. 1515 01:08:40,930 --> 01:08:43,140 თუ თქვენ ცდილობენ ამის გაკეთება საკუთარ თავს ნაჭერი ქაღალდი, 1516 01:08:43,140 --> 01:08:44,681 თქვენ აპირებს, რომ აზრი. 1517 01:08:44,681 --> 01:08:51,000 მაგრამ თუ ამ რაოდენობის აქ, ამ ხუთ. 1518 01:08:51,000 --> 01:08:54,859 ასე რომ, თუ მე Flip ყველაფერი აქ, 1, 1, 1, 1, 1. 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 Flip, Flip, flip. 1521 01:08:57,830 --> 01:09:00,130 და მერე დაამატოთ 1 მას. 1522 01:09:00,130 --> 01:09:02,750 მე ვაპირებ ზუსტად მინუს 5. 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> ამ სახის აზრი იმიტომ, რომ თუ თქვენ ცდილობენ მთლიანობაში ამ რაოდენობის 1525 01:09:06,220 --> 01:09:10,229 რომ ჩვენ გვქონდა ადრე, რომელიც was-- მოდით Flip ეს კიდევ ერთხელ. 1526 01:09:10,229 --> 01:09:12,999 ეს იყო 101 და უამრავი 0. 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 თუ თქვენ ცდილობენ დაამატოთ ეს ორი ნომრები ერთად, 1529 01:09:15,670 --> 01:09:16,961 თქვენ აპირებს ზუსტად 0. 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 OK. 1532 01:09:19,460 --> 01:09:19,884 ნებისმიერი კითხვები? 1533 01:09:19,884 --> 01:09:20,759 >> აუდიტორია: [INAUDIBLE] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL: რას ნიშნავს ეს? 1536 01:09:27,280 --> 01:09:29,240 >> აუდიტორია: უარყოფითი to დადებითი [INAUDIBLE]. 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL: არა, თქვენ Flip და თქვენ დაამატოთ 1 ყოველთვის. 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 ჰო. 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 OK, ასე რომ გმირები ასევე კოდირებული binaries. 1542 01:09:39,680 --> 01:09:42,649 ჩვენ გვაქვს ASCII მაგიდასთან, როგორც თქვენ ასევე ვნახე ლექცია, არა? 1543 01:09:42,649 --> 01:09:45,040 ასე რომ, ეს ძირითადად რუკების რამ. 1544 01:09:45,040 --> 01:09:50,960 და აქ მე ვერ ხაზი გავუსვა საკმარისი რომ კომპიუტერი, და 65 1545 01:09:50,960 --> 01:09:52,770 ფაქტიურად იგივე. 1546 01:09:52,770 --> 01:10:03,430 ასე რომ, თუ მე ვწერ რაღაც char c უდრის, მე ვერ, ამავე დროს, 1547 01:10:03,430 --> 01:10:06,890 უბრალოდ დაწერეთ 65 და ის იქნება ზუსტად იგივე, OK? 1548 01:10:06,890 --> 01:10:08,470 არ არსებობს განსხვავება განაწილებაზე. 1549 01:10:08,470 --> 01:10:12,420 >> ჩვენ, როგორც წესი, ბოლო სიმბოლოების ცვლადების ტიპის. 1550 01:10:12,420 --> 01:10:16,770 Char, არა იმიტომ, რომ ისინი, ძირითადად, გაკეთდა, არამედ იმიტომ, 1551 01:10:16,770 --> 01:10:18,050 ადამიანის კონვენციით. 1552 01:10:18,050 --> 01:10:22,410 მაგრამ შეგიძლიათ მხოლოდ გაუმკლავდეთ რიცხვებით ნაცვლად ცვლადების ტიპის char, 1553 01:10:22,410 --> 01:10:23,490 და თქვენ უნდა იყოს ჯარიმა. 1554 01:10:23,490 --> 01:10:28,410 მხოლოდ ფაქტობრივი განსხვავება შორის char c და int i 1555 01:10:28,410 --> 01:10:31,960 არის ის, რომ int აქვს ოთხი ბაიტი ყველაზე სისტემები, ხოლო char აქვს ერთი ბაიტი. 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 ისინი არსებითად იგივე თვალსაზრისით მონაცემები. 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 ასე რომ, რა იქნება ბეჭდვა აქ? 1560 01:10:37,990 --> 01:10:43,780 აქ ჩვენ დაბეჭდვის ციფრი გამოყენებით printf პლუს 1 და ისევე, როგორც მთელი რიცხვები, 1561 01:10:43,780 --> 01:10:46,240 chars შეიძლება შეაჯამა, ასე გმირები ასევე შეიძლება შეაჯამა. 1562 01:10:46,240 --> 01:10:47,890 ასე რომ, ეს არის ზუსტად ის 65. 1563 01:10:47,890 --> 01:10:49,950 ასე არ იქნება 66, და აქ ჩვენ 1564 01:10:49,950 --> 01:10:56,860 65 Plus პატარა მინუსი დიდი, რომელიც იქნება, მე არ ვიცი. 1565 01:10:56,860 --> 01:11:00,900 მაგრამ ეს იქნება ზუსტად უფსკრული შორის ასოებით 1566 01:11:00,900 --> 01:11:07,800 და და პატარა ასოები, ასე ჩვენ ვაპირებთ, რომ მიიღოს მცირე, არა? 1567 01:11:07,800 --> 01:11:08,300 ჰო. 1568 01:11:08,300 --> 01:11:11,740 ასე რომ, ეს აპირებს ბეჭდვა ხასიათი სწორედ ეს ერთი. 1569 01:11:11,740 --> 01:11:12,260 კარგი? 1570 01:11:12,260 --> 01:11:12,860 ნებისმიერი კითხვები? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> აქ ჩვენ გვაქვს bunch სხვადასხვა სახის რიცხვითი ცვლადი. 1573 01:11:19,430 --> 01:11:20,620 ჩვენ უკვე საუბრობენ int. 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 Float არის მხოლოდ გზა, რომელთა მიზანია, ეს არის ნამდვილად სასაცილოა, რადგან როდესაც მე პირველად შეიტყო 1576 01:11:27,760 --> 01:11:32,320 პროგრამის უკან დღეს Python, პირველი პროგრამის მე ოდესმე 1577 01:11:32,320 --> 01:11:37,480 შევეცადეთ დაწერა, მე ვნახე, რომ იქ ტიპის მოუწოდა და ტიპის მოუწოდა float. 1578 01:11:37,480 --> 01:11:39,800 და float იყო ყველა რეალური ციფრები. 1579 01:11:39,800 --> 01:11:43,290 ასეა, მაშინ მე ვკითხე, რატომ უნდა მე ოდესმე გამოიყენოს int შემდეგ? 1580 01:11:43,290 --> 01:11:45,590 იმიტომ, რომ თუ შემიძლია ყველა რეალური ნომრები float, 1581 01:11:45,590 --> 01:11:47,120 მე უბრალოდ შეწყვიტოს გამოყენებით ints, არა? 1582 01:11:47,120 --> 01:11:49,550 იმის გამო, რომ რეალური ნომრები ისევე როგორც უფრო ზოგადი. 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> აღმოჩნდება, რომ ეს არის არ არის საქმის კომპიუტერები 1585 01:11:54,060 --> 01:11:58,480 იმიტომ, რომ ისინი, ძირითადად, სხვადასხვა რამ. 1586 01:11:58,480 --> 01:12:01,470 ასე რიცხვები და მოძრავი, ოპერაციების, რომ თქვენ მათ 1587 01:12:01,470 --> 01:12:04,739 არსებითად განსხვავებული, რადგან ისე, რომ ისინი ინახება, OK? 1588 01:12:04,739 --> 01:12:07,280 ჩვენ ვაპირებთ, რომ გაიგო ცოტა ცოტა მეტი რომ მეორე. 1589 01:12:07,280 --> 01:12:09,110 >> ასე ორმაგი მხოლოდ უფრო დიდი float. 1590 01:12:09,110 --> 01:12:12,830 როგორც წესი, ყველაზე სისტემები, float ოთხი ბაიტი, ისევე, როგორც int. 1591 01:12:12,830 --> 01:12:15,440 და ორმაგი რვა ბაიტს. 1592 01:12:15,440 --> 01:12:21,450 ხანგრძლივი ხანგრძლივი არის რეალურად მხოლოდ სიმბოლო რომ თქვენ დაურთოს ტიპის როგორიცაა int. 1593 01:12:21,450 --> 01:12:24,040 თქვენ ამბობთ, რომ ხანგრძლივი ხანგრძლივი int მოსწონს ეს. 1594 01:12:24,040 --> 01:12:28,550 ხანგრძლივი ხანგრძლივი int x, რათა ის აღარ. 1595 01:12:28,550 --> 01:12:32,310 ასე რომ, საუკეთესო სისტემები, რომ მისცემს რვა ბაიტი ნაცვლად ჩვეული ოთხი. 1596 01:12:32,310 --> 01:12:35,620 და თქვენ შეგიძლიათ რეალურად ვარდნა in, ასე რომ შეგიძლიათ უბრალოდ, ვამბობთ, ხანგრძლივი ხანგრძლივი, 1597 01:12:35,620 --> 01:12:37,240 და რომ მუშაობს ძალიან, OK? 1598 01:12:37,240 --> 01:12:42,850 ასევე შეგიძლიათ გააკეთოთ სხვა რამ, როგორიცაა ხელმოუწერელი int, ან ისევ და ისევ მხოლოდ ხელმოუწერელი 1599 01:12:42,850 --> 01:12:43,680 ასევე მუშაობა. 1600 01:12:43,680 --> 01:12:49,370 და რომ x უნდა იყოს ცვლადი როგორც ყველაფერი პოზიტიური, 1601 01:12:49,370 --> 01:12:53,231 ასე რომ თქვენ ნამდვილად არ აქვს უარყოფითი ციფრები ისე, რომ ჩვენ ვნახეთ აქ. 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 ასე შემდეგ შესანიშნავი მცურავი წერტილი და ზუსტი. 1604 01:12:58,650 --> 01:13:01,890 ეს არის ერთ ერთი მიზეზი, რის გამოც თქვენ გსურთ გამოიყენოთ ints ნაცვლად მოძრავი, 1605 01:13:01,890 --> 01:13:04,370 იმიტომ, რომ ints 100% ზუსტი, არა? 1606 01:13:04,370 --> 01:13:06,170 ეს არის ზუსტად, რომ ნომერი. 1607 01:13:06,170 --> 01:13:11,910 მცურავი ქულა, თუ ამბობენ, პასუხი უდრის 1-ზე მეტი 10-- 1608 01:13:11,910 --> 01:13:14,690 მე არ უნდა ჰქონდეს ამ ზუსტი პროგრამა აქ, float.c. 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 რომ ბეჭდავს 20 ათობითი ადგილებში. 1611 01:13:19,420 --> 01:13:23,270 1 დაყოფილი 10, და რომ როგორც წესი, არის 0.1, არა? 1612 01:13:23,270 --> 01:13:27,910 მაგრამ აქ თუ ჩვენ ათწილადი და შემდეგ ჩვენ გაუშვით, 1613 01:13:27,910 --> 01:13:30,320 ჩვენ ვხედავთ, რომ ეს არ არის ზუსტად 0.1. 1614 01:13:30,320 --> 01:13:33,570 ეს 0,149 რაღაც. 1615 01:13:33,570 --> 01:13:35,570 >> და რატომ არის, რომ? 1616 01:13:35,570 --> 01:13:40,390 იმიტომ, რომ თქვენ ვერ წარმოადგენს ყველა ერთი შესაძლო რეალური რაოდენობის მეხსიერება 1617 01:13:40,390 --> 01:13:42,730 რადგან არსებობს uncountably ბევრი მათგანი. 1618 01:13:42,730 --> 01:13:48,360 ასე რომ, ჩვენ ტექნიკურად ერთადერთი საშუალება წარმოადგენენ სასრულ რაოდენობის მათ 1619 01:13:48,360 --> 01:13:50,470 სასრულ რაოდენობის მონაცემები. 1620 01:13:50,470 --> 01:13:52,050 მაგრამ ეს მართლაც ძალიან საინტერესო. 1621 01:13:52,050 --> 01:13:54,920 ახლა, ამ სთხოვს კითხვაზე, თუ როგორ თქვენ აკეთებთ 1622 01:13:54,920 --> 01:13:59,299 წავიდეთ შესახებ წარმოადგენს ამ ბიტი, არა? 1623 01:13:59,299 --> 01:14:00,340 ამიტომ როგორ მოძრავი ინახება? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 რიცხვებით იყო ადვილი. 1626 01:14:03,730 --> 01:14:06,690 მაგრამ მოძრავი გსურთ მაქსიმალურად სპექტრი, 1627 01:14:06,690 --> 01:14:10,530 და გსურთ შეძლებს წარმოადგინოს დიდი რაოდენობით და ძალიან პატარა ნომრები მოსწონს 1628 01:14:10,530 --> 01:14:14,210 0.000001 ამავე დროს. 1629 01:14:14,210 --> 01:14:15,180 ასე რომ კიდევ ერთხელ, იგივე თამაში. 1630 01:14:15,180 --> 01:14:20,470 ვინმეს აქვს რაიმე იდეა, თუ როგორ შეგვეძლო წავიდეთ შესახებ წარმოადგენს float მეხსიერება? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 მხოლოდ იმისათვის, რომ არაფერი. 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 დიახ, გთხოვთ. 1635 01:14:30,856 --> 01:14:33,552 >> აუდიტორია: [INAUDIBLE] როგორც თუ ის იყო ორი ints და ერთი 1636 01:14:33,552 --> 01:14:36,890 მიმდინარეობს [INAUDIBLE] და ერთი, ყველაფერი შემდეგ ათობითი წერტილი. 1637 01:14:36,890 --> 01:14:37,640 GABRIEL: OK, cool. 1638 01:14:37,640 --> 01:14:40,300 ასე რომ, ორი სხვადასხვა რიცხვებით. 1639 01:14:40,300 --> 01:14:45,260 თქვენ შეგიძლიათ 12.45, ასე რომ 12 და 45. 1640 01:14:45,260 --> 01:14:45,890 ლამაზი. 1641 01:14:45,890 --> 01:14:46,973 რა ere თქვენ თქმას? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 იგივე? 1644 01:14:49,430 --> 01:14:49,930 ჰო? 1645 01:14:49,930 --> 01:14:55,630 >> აუდიტორია: [INAUDIBLE] notation სადაც თქვენ გამოყოფთ ბაზა. 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL სამეცნიერო ნოტაცია, yeah, როგორც წესი, რა მოხდება. 1647 01:14:58,910 --> 01:15:01,350 ასე რომ, ეს, რა ჰქვია mantissa. 1648 01:15:01,350 --> 01:15:06,490 აი, რა არის რეალურად ნომერი, და მაშინ მაჩვენებლებით 1649 01:15:06,490 --> 01:15:08,780 არის მხოლოდ, სადაც მძიმით არის, უფლება? 1650 01:15:08,780 --> 01:15:13,720 ასე რომ, ეს იქნება რაღაც ფორმა 1, 2, 3, 4, 5 ჯერ 10 1651 01:15:13,720 --> 01:15:15,000 მინუს 4. 1652 01:15:15,000 --> 01:15:17,800 მე უბრალოდ მიხვდა that-- ჰო, ზუსტად. 1653 01:15:17,800 --> 01:15:23,372 და შემდეგ ეს 10 მინუს 4 აპირებს განსაზღვროს სადაც მძიმით არის, OK? 1654 01:15:23,372 --> 01:15:24,330 ბრაზილიაში ჩვენ ვიყენებთ მძიმით. 1655 01:15:24,330 --> 01:15:26,795 აქ თქვენ ბიჭები გამოიყენოთ dot. 1656 01:15:26,795 --> 01:15:27,640 ასე რომ, dot. 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> და ეს არის მაგარი, რადგან მაშინ ფოკუსირება უამრავი თქვენი ბიტი ამ ბიჭს 1659 01:15:34,840 --> 01:15:40,863 აქ, mantissa, და შემდეგ რომ იქნება თქვენი ფაქტობრივი სიზუსტით. 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 და თქვენ შეგიძლიათ ამის გაკეთება არც ათობითი ან ორობითი სისტემით. 1662 01:15:47,175 --> 01:15:49,781 არსებობს სხვადასხვა როგორ უნდა განხორციელდეს ეს. 1663 01:15:49,781 --> 01:15:50,280 კითხვები? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 დიახ? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 აუდიტორია: რამდენი ადგილებში შემდეგ ათობითი [INAUDIBLE]? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL: ეს რთული შეკითხვა, იმიტომ, რომ ეს არასოდეს არ არის ნამდვილად 100% ზუსტი, 1670 01:16:12,610 --> 01:16:15,680 იმიტომ, რომ, როგორც ხედავთ აქ, ზოგიერთი ნომრები ეს არის 100% ზუსტი. 1671 01:16:15,680 --> 01:16:20,350 მე მჯერა, რომ, თუ ჩვენ 0.5 აქ ეს იქნება 100% ზუსტი. 1672 01:16:20,350 --> 01:16:22,220 ეს იქნება 0,500000. 1673 01:16:22,220 --> 01:16:24,170 ასე რომ, ამ შემთხვევაში, ეს არის სრულყოფილი. 1674 01:16:24,170 --> 01:16:27,330 მაგრამ სხვა შემთხვევებში, ეს გაცილებით ნაკლებია სრულყოფილი. 1675 01:16:27,330 --> 01:16:35,010 ჩემი გამოცდილება, როგორიცაა ოთხ, ხუთი ათობითი ადგილებში საკმაოდ ზუსტი. 1676 01:16:35,010 --> 01:16:38,300 თუ თქვენ იყენებთ ორმაგი, ის აპირებს გზა უფრო ზუსტი, ვიდრე, რომ, OK? 1677 01:16:38,300 --> 01:16:42,750 >> რობ Bowden: ასე რომ, უბრალოდ იმისათვის, კიდევ რამდენიმე კონტექსტში at მოძრავი, 1678 01:16:42,750 --> 01:16:46,320 არ მახსოვს, 100%, თუ როგორ სპეც მოძრავი რეალურად მუშაობს, 1679 01:16:46,320 --> 01:16:52,660 მაგრამ მე ყოველთვის გვახსოვდეს რომ მოძრავი დაიწყოს მიღების რთული. 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 ასე რომ, იდეა არის, რომ როდესაც თქვენ ნამდვილად, მართლაც დიდი ნომრები ან ნამდვილად, ნამდვილად 1682 01:17:00,930 --> 01:17:03,470 მცირე რაოდენობით, ჩვენ ვიწყებთ უფრო და უფრო უარესდება 1683 01:17:03,470 --> 01:17:05,860 at გამიჯვნის ორ ახლოს მოძრავი. 1684 01:17:05,860 --> 01:17:09,180 >> ასე რომ, როგორ მე მიყვარს ფიქრი მცურავი პუნქტიანი ორაზროვნება, 1685 01:17:09,180 --> 01:17:11,890 არსებობს ორი მოძრავი, რომელიც თუ ვცდილობ დავაკონკრეტებ 1686 01:17:11,890 --> 01:17:15,150 C, მიუხედავად იმისა, რომ ისინი სხვადასხვა ნომრები, 1687 01:17:15,150 --> 01:17:17,340 ისინი იქნება გაგებული, როგორც იმავე რაოდენობის, 1688 01:17:17,340 --> 01:17:19,006 იმიტომ, რომ ჩვენ ვერ შეინახავს მათ განსხვავებულად. 1689 01:17:19,006 --> 01:17:20,540 ჩვენ უნდა გამოვიყენოთ იგივე ბიტი. 1690 01:17:20,540 --> 01:17:23,220 და ასე, როდესაც ჩვენ ვიღებთ მართლაც, მართლაც დიდი რაოდენობით, 1691 01:17:23,220 --> 01:17:28,460 საუბარს, როგორიცაა, 10 300 ან რაღაც, ეს იმ ეტაპზე 1692 01:17:28,460 --> 01:17:33,240 რომ 10-დან 300-მდე 5 ჯერ 10 300 1693 01:17:33,240 --> 01:17:37,020 არ შეიძლება დიფერენცირებული 7-ჯერ 10 300. 1694 01:17:37,020 --> 01:17:39,660 ასე რომ საკმაოდ დიდი სხვაობა ორ ნომრები. 1695 01:17:39,660 --> 01:17:43,830 >> მაგრამ მაშინ, როდესაც თქვენ ქვემოთ ნორმალური სპექტრი რამ, 1696 01:17:43,830 --> 01:17:45,770 თქვენ, როგორც წესი, საკმაოდ კარგი გამიჯვნის. 1697 01:17:45,770 --> 01:17:49,020 და მაშინ, როდესაც თქვენ ქვემოთ მართლაც მცირე, თქვენ ასევე ვიღებთ საკმაოდ ცუდი ერთხელ. 1698 01:17:49,020 --> 01:17:52,529 ასე რომ, როგორც მთელი bunch 0.0000, იგი იღებს საკმაოდ ცუდი. 1699 01:17:52,529 --> 01:17:53,820 GABRIEL: ჰო, სწრაფი ნოტა. 1700 01:17:53,820 --> 01:17:54,670 არასოდეს გააკეთებს. 1701 01:17:54,670 --> 01:17:57,590 არასოდეს ცდილობენ შედარება მოძრავი გამოყენებით უდრის უდრის, 1702 01:17:57,590 --> 01:18:02,800 იმიტომ, რომ მაშინაც კი, თუ ისინი თითქმის იგივე, თითქმის იგივე არ არის იგივე. 1703 01:18:02,800 --> 01:18:06,360 ასე რომ თქვენ, როგორც წესი, არის სხვაობა მათ, მიიღონ აბსოლუტური ღირებულება, რომელიც, 1704 01:18:06,360 --> 01:18:12,380 და თუ რომ ნაკლებია 0.0001 ან რამე მაგდაგვარს, OK? 1705 01:18:12,380 --> 01:18:12,880 და ზემოთ. 1706 01:18:12,880 --> 01:18:16,630 მე ვიცი, რომ ბევრი ადამიანი გავლილი Java, 1707 01:18:16,630 --> 01:18:19,700 განსაკუთრებით ვინც გააკეთა AP კომპიუტერულ მეცნიერებათა, არა? 1708 01:18:19,700 --> 01:18:23,630 და ჯავის ენაზე რომ ძირითადად ეფუძნება C, 1709 01:18:23,630 --> 01:18:26,570 მას აქვს რამდენიმე ძალიან დიდი განსხვავებები. 1710 01:18:26,570 --> 01:18:31,430 მაგრამ ამისთვის მარყუჟების, და IFS, და პერსონალის მოსწონს რომ, ისინი ყველა იგივე სინტაქსი. 1711 01:18:31,430 --> 01:18:35,240 მე მაქვს რამდენიმე პროგრამები აქ, რათა ეს. 1712 01:18:35,240 --> 01:18:37,050 >> ასე მაგალითად, მარტივი Hello world. 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 ეს არის hello world in C, რომელიც თქვენ ბიჭები ნამდვილად იცნობს, 1715 01:18:46,600 --> 01:18:49,100 და ეს და ეს ერთი არის ჯავაში. 1716 01:18:49,100 --> 01:18:53,100 ასე რომ, Java, ჩვენ გვაქვს ეს საჯარო კლასის, Hello World, 1717 01:18:53,100 --> 01:18:57,050 და საჯარო სტატიკური ბათილად მთავარი, და სიმებიანი args. 1718 01:18:57,050 --> 01:18:59,665 სიმებიანი args ვაპირებთ როგორც ჩანს, C მალევე. 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 მაგრამ მოდით არ იქ არ არის. 1721 01:19:01,990 --> 01:19:06,060 ახლა ჩვენ გვაქვს ბათილად, რაც იმას ნიშნავს რომ ძირითადი მიუღია რაიმე არგუმენტები. 1722 01:19:06,060 --> 01:19:09,220 და მაშინ ჩვენ გვაქვს System.out.println, და რომ ის, 1723 01:19:09,220 --> 01:19:11,140 სახის ექვივალენტი printf. 1724 01:19:11,140 --> 01:19:17,150 აქ ჩვენ არ გვჭირდება წარმატებული n რადგან ბეჭდვითი ln აკეთებს, რომ თქვენთვის. 1725 01:19:17,150 --> 01:19:19,680 ეს რეზოლუციას წარმატებული n დასასრულს ხაზი. 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> მაგრამ თუ წასვლას რაღაც, თქვენ 1728 01:19:30,415 --> 01:19:32,590 ვხედავ, რომ ისინი საკმაოდ ბევრი იგივე. 1729 01:19:32,590 --> 01:19:37,390 ასე ინიციალიზაციისას, და მდგომარეობა და განახლება 1730 01:19:37,390 --> 01:19:42,050 is-- მე გაშვებული სივრცეში აქ ისინი საკმაოდ ბევრი იგივე, გარდა Java 1731 01:19:42,050 --> 01:19:44,430 აქვს რამდენიმე სხვა მაღალი დონის პერსონალი. 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 აქ ჩვენ შეგვიძლია გავაკეთოთ პლუს მე და Java ავტომატურად 1734 01:19:49,610 --> 01:19:52,730 იმისათვის, რომ ეს მე აქ, რიცხვი, ტექსტი, 1735 01:19:52,730 --> 01:19:55,200 შემდეგ დამატება ორ strings ერთად. 1736 01:19:55,200 --> 01:19:57,570 აქ C ჩვენ უნდა გავაკეთოთ და% d. 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 ხაზი აქ, for გამოიყურება ზუსტად ისევე. 1739 01:20:18,170 --> 01:20:37,760 >> და თუ დავაკვირდებით, თუ, ifs ასევე ზუსტად იგივე, უფლება? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 ასე რომ, რეალური დიდი განსხვავებები იმ რამ, რომ ხედავთ აქ. 1742 01:20:44,650 --> 01:20:47,530 საჯარო სტატიკური ბათილად, და მაშინ საჯარო კლასი, თუ. 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 ასე რომ ჯავა აქვს, რა არის ე.წ. ვირტუალური მანქანა. 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 და ეს ძალიან მძიმედ საფუძველზე, რაც ეწოდება ობიექტზე ორიენტირებული პროგრამირების, 1747 01:21:00,150 --> 01:21:04,120 რომელიც არის ძალიან, ძალიან გავრცელებული პარადიგმა პროგრამირების დღეს. 1748 01:21:04,120 --> 01:21:10,870 და ამ კლასში რამ არის, რასაც თქვენ ხედავთ, რაღაც ობიექტი ორიენტაცია, 1749 01:21:10,870 --> 01:21:14,214 თქვენ შექმნათ კლასი და მაშინ გამომდინარეობს ობიექტების, რომ კლასი. 1750 01:21:14,214 --> 01:21:16,380 ჩვენ არ ვაპირებთ, რომ გაიგო ძალიან ბევრი რომ CS50, 1751 01:21:16,380 --> 01:21:18,213 მაგრამ ეს ნამდვილად რაღაც ნამდვილად cool, 1752 01:21:18,213 --> 01:21:21,440 განსაკუთრებით თუ გსურთ წასვლას უფრო დახვეწილი ვებ განვითარების 1753 01:21:21,440 --> 01:21:24,050 ბოლოს რა თქმა უნდა, როგორიცაა წარმოადგინოს თქვენი საბოლოო პროექტი 1754 01:21:24,050 --> 01:21:26,430 და ზოგიერთი ლამაზი ჩარჩოები და პერსონალი. 1755 01:21:26,430 --> 01:21:31,250 >> ასე რომ, ძირითადად, იდეა არის, რომ თქვენ არ მინდა ხელახლა განახორციელოს რაღაც, 1756 01:21:31,250 --> 01:21:36,330 ასე რომ თქვენ ის, რაც არის ძალიან ზოგადი, როგორც ფორმის, 1757 01:21:36,330 --> 01:21:38,310 და მაშინ შექმნა სხვადასხვა ფორმებს ის, 1758 01:21:38,310 --> 01:21:40,240 და მაშინ თითოეული ამ ფორმებს, თქვენ შექმნა 1759 01:21:40,240 --> 01:21:45,110 უფრო კონკრეტულ ფორმებს სამ ზომები ან რამე მაგდაგვარს. 1760 01:21:45,110 --> 01:21:48,799 და მათ აქვთ ამ იერარქიაში ისინი მემკვიდრეობის სხვა პირობა, 1761 01:21:48,799 --> 01:21:51,840 ყველა ფუნქციები და ყველა ცვლადები, დიდი ფორმის აქ, ყველა ამ 1762 01:21:51,840 --> 01:21:54,110 ვაპირებთ, რომ, და ეს ყველაფერი აპირებთ უნდა, და ასე შემდეგ და ასე შემდეგ. 1763 01:21:54,110 --> 01:21:55,640 ისე, რომ ძირითადი იდეა. 1764 01:21:55,640 --> 01:21:59,170 >> C არ აქვს, მაგრამ ის, C ++ აქვს, რომ სახის ფუნქცია. 1765 01:21:59,170 --> 01:22:02,710 და ჯავის მძიმედ იმოქმედა ობიექტის ორიენტაცია, 1766 01:22:02,710 --> 01:22:05,310 ამიტომაც ხედავთ კლასი აქ ყველა დროის. 1767 01:22:05,310 --> 01:22:10,790 და სხვა რამ არის ამ Java ვირტუალური მანქანა. 1768 01:22:10,790 --> 01:22:13,790 ასე რომ, ეს, ჩემი აზრით, არის ძალიან ჭკვიანი იდეა. 1769 01:22:13,790 --> 01:22:17,020 ასე რომ, რა დაკარგულია გამოიგონა java საერთოდ არ არის 1770 01:22:17,020 --> 01:22:19,630 მათ არ სურთ, რომ შეადგინონ მათი კოდი ორჯერ 1771 01:22:19,630 --> 01:22:23,990 თუ მათ აწარმოებს Windows, ან Mac ან Linux, რასაც ისინი აკეთებენ 1772 01:22:23,990 --> 01:22:26,740 არის მათ სიტყვასიტყვით აწარმოებს რაღაც ელექტრო მოწყობილობების, 1773 01:22:26,740 --> 01:22:29,630 მაგრამ თქვენ ვერ ვხედავ ხდება. 1774 01:22:29,630 --> 01:22:32,430 ასე რომ, ისინი აწარმოებს ვირტუალური მანქანა შიგნით თქვენი კომპიუტერი, რომელიც 1775 01:22:32,430 --> 01:22:34,940 ძირითადად მომწონს მინი ოპერაციული სისტემა. 1776 01:22:34,940 --> 01:22:37,920 და რომ ოპერაციული სისტემის მიზანი ცხოვრებაში 1777 01:22:37,920 --> 01:22:41,430 უბრალოდ, აწარმოებს რა ჰქვია byte კოდი. 1778 01:22:41,430 --> 01:22:47,411 >> ასე რომ, ნაცვლად C, გზა ჩვენ გვინდა შეადგინოს ეს გააკეთოს, თუ, შემდეგ აწარმოებს 1779 01:22:47,411 --> 01:22:47,910 ./if. 1780 01:22:47,910 --> 01:22:53,510 1781 01:22:53,510 --> 01:22:55,290 დამავიწყდა წარმატებული in. 1782 01:22:55,290 --> 01:23:00,240 ჯავაში, თქვენ ამის გაკეთება პირველი Java C კომპილირება, if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 ეს არ არის C. ეს dot java. 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 და შემდეგ თქვენ უნდა აწარმოებს არ ./. 1787 01:23:12,140 --> 01:23:15,440 თქვენ ამ ახალი ფაილი if.class, მაგრამ თქვენ ვერ 1788 01:23:15,440 --> 01:23:17,980 აწარმოებს if.class ახლა მხოლოდ როგორც ეს ადრე იყო. 1789 01:23:17,980 --> 01:23:19,440 ეს არ არის შესრულებადი. 1790 01:23:19,440 --> 01:23:20,630 თქვენ უნდა აწარმოებს. 1791 01:23:20,630 --> 01:23:23,410 თქვენ უნდა მიეტანა იგი პროგრამას სახელწოდებით Java, 1792 01:23:23,410 --> 01:23:28,260 და რომ პროგრამა არის ვირტუალური მანქანა, და მერე შენ if.class, ან, თუ. 1793 01:23:28,260 --> 01:23:28,760 დიახ. 1794 01:23:28,760 --> 01:23:30,890 და შემდეგ მუშაობს. 1795 01:23:30,890 --> 01:23:33,740 OK, ასე რომ ეს არის ერთგვარი ვირტუალური მანქანა ხდება. 1796 01:23:33,740 --> 01:23:37,700 C არ აქვს, რომ, ასე თუ იყო დააყენა ეს პროგრამა Windows მანქანა, 1797 01:23:37,700 --> 01:23:40,516 ეს არ იმუშავებს in C. In Java ეს ასეა. 1798 01:23:40,516 --> 01:23:41,015 კითხვები? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 ზემოთ. 1801 01:23:44,030 --> 01:23:47,160 ეს არის ის, თუ სუპერ მონაკვეთზე დღეს. 1802 01:23:47,160 --> 01:23:49,462