1 00:00:00,000 --> 00:00:12,510 2 00:00:12,510 --> 00:00:13,870 >> ROB: ყველა უფლება. 3 00:00:13,870 --> 00:00:16,770 სტუმარს პირველ ნაწილში. 4 00:00:16,770 --> 00:00:17,480 მე Rob. 5 00:00:17,480 --> 00:00:18,806 >> JOSEPH: მე ვარ იოსები. 6 00:00:18,806 --> 00:00:21,540 >> ROB: ასე რომ, ჩვენ ჩაყვინთვის უფლება შემოსული 7 00:00:21,540 --> 00:00:23,420 პირველი, რაც უნდა ვისაუბროთ არის ელექტრო. 8 00:00:23,420 --> 00:00:27,150 ასე რომ იმედია ყველაზე გაქვთ გადმოწერილი ეს უკვე. 9 00:00:27,150 --> 00:00:37,180 მაგრამ ხედავთ ინსტრუქციები at cs50.net/appliance. 10 00:00:37,180 --> 00:00:38,430 Oh ღმერთი, ახლა მე თვითმმართველობის შეგნებული. 11 00:00:38,430 --> 00:00:44,590 12 00:00:44,590 --> 00:00:45,430 მე მაინც მოისმინოს ეს. 13 00:00:45,430 --> 00:00:47,232 >> JOSEPH: Wow, ეს ჟღერს ეს disoriented. 14 00:00:47,232 --> 00:00:52,460 >> ROB: ასე რომ, ზოგიერთი ადამიანი არ მქონე საკითხები, ასე რომ არ დაველოდოთ 15 00:00:52,460 --> 00:00:54,940 ბოლო წუთს პრობლემა მითითებული ცდილობენ და გადაწყვიტოს ელექტრო და 16 00:00:54,940 --> 00:00:56,320 მოძიებაში, რომ ის არ მუშაობს. 17 00:00:56,320 --> 00:00:59,010 >> JOSEPH: და თუ რამე არ მუშაობს და თქვენ გჭირდებათ დახმარება, თქვენ შეგიძლიათ წასვლა 18 00:00:59,010 --> 00:01:03,390 cs50.net/discussion, სადაც ჩვენ აქვს ფორუმი, სადაც თქვენ 19 00:01:03,390 --> 00:01:04,110 შეგიძლიათ თქვენი კითხვები. 20 00:01:04,110 --> 00:01:06,655 და ჩვენ კიდევ, რომ მათ საბოლოოდ. 21 00:01:06,655 --> 00:01:07,490 >> ROB: ყველა უფლება. 22 00:01:07,490 --> 00:01:12,180 ასე რომ, ეს არის ის, რაც ელექტრო ჰგავს. 23 00:01:12,180 --> 00:01:15,480 ერთხელ, ის უბრალოდ სრულიად ცალკე ოპერაციული სისტემა გაშვებული ფარგლებში 24 00:01:15,480 --> 00:01:19,440 რასაც ოპერაციული სისტემა გაშვებული თქვენი ლეპტოპი. 25 00:01:19,440 --> 00:01:24,450 და მთავარი რამ თქვენ გამოყენებით არის gedit. 26 00:01:24,450 --> 00:01:28,050 ასე რომ იმედია ეს უკვე გახდა ნაცნობი საიტზე. 27 00:01:28,050 --> 00:01:29,470 ტერმინალში. 28 00:01:29,470 --> 00:01:31,890 >> და ასევე შეგიძლიათ აწარმოებს Chrome ფარგლებში მოწყობილობების. 29 00:01:31,890 --> 00:01:33,860 არსებობს რამდენიმე ადამიანი ვინც არ ინფორმაციით ინტერნეტით 30 00:01:33,860 --> 00:01:35,390 არ მუშაობს მოწყობილობების. 31 00:01:35,390 --> 00:01:38,090 და ზოგიერთი მათგანი ახლახან აიღო რომ არ უნდა იყოს 32 00:01:38,090 --> 00:01:39,190 ინტერნეტის მოწყობილობების. 33 00:01:39,190 --> 00:01:40,750 მაგრამ დიახ, იქ უნდა უნდა იყოს ინტერნეტში. 34 00:01:40,750 --> 00:01:44,000 35 00:01:44,000 --> 00:01:46,410 >> მე ვიტყვი ახლა, მაგრამ ეს იმას არ ნამდვილად არაფერს ნიშნავს. 36 00:01:46,410 --> 00:01:50,680 იმ შემთხვევაში, თუ ინტერნეტში არ მუშაობს, ეს არის ის, რაც თქვენ, როგორც წესი, უნდა 37 00:01:50,680 --> 00:01:52,180 აწარმოებს გაასწორონ ის. 38 00:01:52,180 --> 00:01:55,602 თუ თქვენ მქონე ინტერნეტით საკითხები, არ მახსოვს, უბრალოდ პოსტი on 39 00:01:55,602 --> 00:01:57,560 განიხილავს და ჩვენ ვიტყვით, აწარმოებს, რომ. 40 00:01:57,560 --> 00:02:00,420 მაგრამ ინტერნეტში უნდა არსებობდეს. 41 00:02:00,420 --> 00:02:06,650 >> ასე რომ, ერთადერთი რამ - yeah, არაფერი სხვაგან მართლაც აქტუალურია. 42 00:02:06,650 --> 00:02:08,979 მაგრამ მე უბრალოდ სურდა აღვნიშნო, რომ - 43 00:02:08,979 --> 00:02:13,290 ხედავთ ამ ქვედა მარჯვენა კუთხეში. 44 00:02:13,290 --> 00:02:16,530 ასე რომ თითოეული თქვენი ტექნიკა უნდა აქვს IP მისამართი. 45 00:02:16,530 --> 00:02:22,350 და შემდეგ სემესტრში, ამ IP მისამართი გახდება უფრო მნიშვნელოვანი, როდესაც 46 00:02:22,350 --> 00:02:27,230 თქვენ მუშაობს ვებ p-set, რადგან თქვენ უნდა შეძლონ 47 00:02:27,230 --> 00:02:32,310 ნახვა თქვენ მუშაობს თქვენი ადგილობრივი Chrome გამოყენებით ამ IP მისამართზე. 48 00:02:32,310 --> 00:02:35,400 >> მაგრამ რა მომწონს გამოიყენოს IP მისამართი - და თქვენ არ უნდა გავაკეთოთ ეს, მე 49 00:02:35,400 --> 00:02:37,460 უბრალოდ მინდა აღვნიშნო ის - 50 00:02:37,460 --> 00:02:39,540 აქ არის. 51 00:02:39,540 --> 00:02:42,910 ასე რომ, ეს არის ტერმინალის ფანჯარა ჩემი Mac, ეს არ არის 52 00:02:42,910 --> 00:02:44,580 ელექტრო ყველა. 53 00:02:44,580 --> 00:02:47,190 და თქვენ შეგიძლიათ ეძებოთ რა ამ ბრძანების აკეთებს. 54 00:02:47,190 --> 00:02:51,855 მაგრამ მე ვაპირებ SSH პირდაპირ ჩემი მოწყობილობების. 55 00:02:51,855 --> 00:02:53,410 მე არ ვიცი, რა IP არის. 56 00:02:53,410 --> 00:02:54,300 >> JOSEPH: 168 - 57 00:02:54,300 --> 00:02:56,080 >> 168.224.1.0. 58 00:02:56,080 --> 00:02:59,950 >> ROB: ასე რომ, კიდევ მე გაკეთდეს ამ, შეხვიდეთ სისტემაში 59 00:02:59,950 --> 00:03:05,450 ახლა, ძირითადად, ეს არის იდენტური ტერმინალის ფანჯარაში ფარგლებში ჩემი მოწყობილობების. 60 00:03:05,450 --> 00:03:10,280 ასე რომ, მე საკმაოდ ბევრი არასოდეს რეალურად მუშაობდა შიგნიდან ელექტრო თავად. 61 00:03:10,280 --> 00:03:12,550 მე, უბრალოდ, ყოველთვის მას გაშვებული ფონზე დაყვანილი 62 00:03:12,550 --> 00:03:15,890 და SSHed მივანიჭო. 63 00:03:15,890 --> 00:03:24,270 >> საკითხი ეს თქვენ არ აპირებენ შეძლებს გამოიყენოს gedit ადვილად 64 00:03:24,270 --> 00:03:25,600 პირდაპირ ამ. 65 00:03:25,600 --> 00:03:31,500 მაგრამ თუ გვინდა, რომ იყოს რეალური cool ჰაკერი, მაშინ უნდა შეეგუოს 66 00:03:31,500 --> 00:03:34,220 ბრძანების ტექსტური რედაქტორი მაინც. 67 00:03:34,220 --> 00:03:39,620 ასე რომ, Vim და Emacs და ნანო, ყველა ეს სხვადასხვა ალტერნატივები. 68 00:03:39,620 --> 00:03:41,560 Nano tends უნდა იყოს მარტივი. 69 00:03:41,560 --> 00:03:45,006 და ვფიქრობ, რომ მას არა აქვს სინტაქსის შეფერადება. 70 00:03:45,006 --> 00:03:47,620 ოჰ, არა, ის მთლიანად აკეთებს. 71 00:03:47,620 --> 00:03:49,870 ასე, რომ თქვენ შეგიძლიათ გამოიყენოთ Nano, რადგან რომ ერთი საკმაოდ მარტივია. 72 00:03:49,870 --> 00:03:52,000 >> ხედავთ ყველა ეს ბრძანებები ბოლოში. 73 00:03:52,000 --> 00:03:54,750 ამ პატარა სტაფილოს სიმბოლო. 74 00:03:54,750 --> 00:03:57,620 თუ თქვენ არ მინახავს ადრე, თქვენ ალბათ ბევრი არის. 75 00:03:57,620 --> 00:04:02,350 ეს ზოგადად ნიშნავს, რომ კონტროლის სტაფილო, ისევე, როგორც ქვედა მარცხენა თქვენს კლავიატურაზე 76 00:04:02,350 --> 00:04:04,130 კონტროლის ხასიათი. 77 00:04:04,130 --> 00:04:07,260 ასე რომ, აქ ის მეუბნებოდა ქვემოთ აქ - 78 00:04:07,260 --> 00:04:08,710 oh, ეს არ შეწყვიტა, თუ მე zoom სისტემაში 79 00:04:08,710 --> 00:04:11,040 ასე რომ, კონტროლის, X, თუ ​​რამდენად მე ვაპირებ გასვლა. 80 00:04:11,040 --> 00:04:14,710 და ეს ამბობს მე ვერ მოხვდა Y for დიახ, გადარჩენის, N განთავსების პოსტები 81 00:04:14,710 --> 00:04:17,190 ასე რომ Nano. 82 00:04:17,190 --> 00:04:22,860 >> Vim და Emacs ტენდენცია იყოს ოდნავ მეტი რთული და დაუძლეველი. 83 00:04:22,860 --> 00:04:28,840 მაგრამ შეგიძლიათ შეეგუება ეს, და მაშინ თქვენ მიყვარს ეს. 84 00:04:28,840 --> 00:04:30,590 ასე რომ, რომ. 85 00:04:30,590 --> 00:04:31,720 >> JOSEPH: არ უნდა გავაკეთოთ, რომ. 86 00:04:31,720 --> 00:04:31,840 >> ROB: ჰო. 87 00:04:31,840 --> 00:04:37,510 თქვენ თავისუფლად შეგიძლიათ გამოიყენოთ gedit, რომ დარჩენილი სემესტრში. 88 00:04:37,510 --> 00:04:40,630 ასე რომ ნებისმიერი მოწყობილობის დაკავშირებული კითხვები? 89 00:04:40,630 --> 00:04:42,820 თუ თქვენ გაქვთ რაიმე მოსაზრებები იმის შესახებ, თუ რა უნდა საუბრობდნენ შესახებ 90 00:04:42,820 --> 00:04:43,610 ელექტრო? 91 00:04:43,610 --> 00:04:43,996 დიახ. 92 00:04:43,996 --> 00:04:47,720 >> დინამიკები 1: როცა SSHed თქვენს რამ იყო დაგავიწყდათ Crimson? 93 00:04:47,720 --> 00:04:48,390 >> ROB: ჰო. 94 00:04:48,390 --> 00:04:50,170 დაგავიწყდათ საკმაოდ ბევრი ყველაფერი ელექტრო აპირებს 95 00:04:50,170 --> 00:04:52,473 უნდა იყოს Crimson. 96 00:04:52,473 --> 00:04:56,517 >> დინამიკები 2: ინსტალაციის როგორც ნამდვილი IDE on ელექტრო მოწყობილობების, იქნება ეს მუშაობა? 97 00:04:56,517 --> 00:04:59,200 98 00:04:59,200 --> 00:05:07,290 >> ROB: მე წარმოვიდგენდი Eclipse აქვს Fedora მობილური, ამ შემთხვევაში, დიახ, 99 00:05:07,290 --> 00:05:08,420 თქვენ შეგიძლიათ ამის გაკეთება. 100 00:05:08,420 --> 00:05:10,875 ეს, ალბათ, ნამდვილად არ ღირს. 101 00:05:10,875 --> 00:05:11,742 >> დინამიკები 2: OK. 102 00:05:11,742 --> 00:05:15,924 ასე რომ, ეს, ალბათ, უფრო ადვილია, თუ მინდოდა გამოყენება Eclipse, უბრალოდ გამოიყენოთ შექმნილი და 103 00:05:15,924 --> 00:05:17,646 მაშინ ატვირთეთ - 104 00:05:17,646 --> 00:05:21,090 >> ROB: Oh, ესეც, ალბათ, უფრო ადვილია. 105 00:05:21,090 --> 00:05:24,046 მაგრამ თქვენ შეგიძლიათ მიიღოთ ეს სამუშაო ფარგლებში მოწყობილობების. 106 00:05:24,046 --> 00:05:27,740 >> JOSEPH: და კამერა, კითხვა იყო, შეგიძლიათ დააყენოთ სხვა 107 00:05:27,740 --> 00:05:29,490 IDE შიგნით ელექტრო? 108 00:05:29,490 --> 00:05:31,520 >> ROB: Eclipse მიმდინარეობს მაგალითი IDE. 109 00:05:31,520 --> 00:05:34,800 110 00:05:34,800 --> 00:05:36,050 ნებისმიერი სხვა ელექტრო კითხვები? 111 00:05:36,050 --> 00:05:38,250 112 00:05:38,250 --> 00:05:38,680 ყველა უფლება. 113 00:05:38,680 --> 00:05:44,920 >> ასე რომ, ახლა ჩვენ გადაადგილება command line ინტერფეისი დაკავშირებული რამ, ასე CLI. 114 00:05:44,920 --> 00:05:47,990 ისევ და ისევ, მე უბრალოდ აპირებს მუშაობას აქ, რადგან ეს არის იდენტური 115 00:05:47,990 --> 00:05:52,780 სამუშაო ფარგლებში ტერმინალის ფანჯარაში ფარგლებში მოწყობილობების. 116 00:05:52,780 --> 00:05:54,160 როგორ არის, რომ font ეძებს? 117 00:05:54,160 --> 00:05:55,970 ის არის, რომ დიდი საკმარისი? 118 00:05:55,970 --> 00:05:57,000 ყველა უფლება. 119 00:05:57,000 --> 00:06:02,480 >> ასე რომ, არსებობს უამრავი ბრძანებები, თქვენ უნდა მიიღოს საკმაოდ გამოყენებული 120 00:06:02,480 --> 00:06:04,490 მთელ სემესტრში. 121 00:06:04,490 --> 00:06:09,480 დიდი ორი სანავიგაციო არის ls, სია ფაილები ამ დირექტორიაში და 122 00:06:09,480 --> 00:06:11,380 cd, ასე რომ შეცვალოს დირექტორია. 123 00:06:11,380 --> 00:06:18,390 ასე რომ, მე ვერ შეცვლის დესკტოპის და შემდეგ ძალიან გავრცელებული ნიმუში cd to 124 00:06:18,390 --> 00:06:22,550 დირექტორია და დაუყოვნებლივ ls რა არის დირექტორია. 125 00:06:22,550 --> 00:06:25,540 >> ასევე ზოგჯერ არ ესმოდეს რომ Tab დასრულების რამ. 126 00:06:25,540 --> 00:06:28,370 ასე მოსწონს CD, vh, და მერე მოხვდა Tab. 127 00:06:28,370 --> 00:06:30,790 მე თითქმის არასდროს აკრიფოთ out მთელი რამ. 128 00:06:30,790 --> 00:06:32,920 და თუ მე შენარჩუნება hitting Tab ერთხელ, ის ყველაფერს ავტომატურად 129 00:06:32,920 --> 00:06:33,670 დაიწყოს ჩამონათვალი ჩემთვის. 130 00:06:33,670 --> 00:06:37,000 ასე რომ, შემიძლია cd vhosts, ადგილობრივი მასპინძელი. 131 00:06:37,000 --> 00:06:39,880 და ეს უბრალოდ აპირებს - 132 00:06:39,880 --> 00:06:43,380 იმ შემთხვევაში თუ თქვენ არ გამიგია ტერმინი ადრე, დირექტორია არის კიდევ ერთი სიტყვა 133 00:06:43,380 --> 00:06:45,170 დირექტორია. 134 00:06:45,170 --> 00:06:49,930 ახლა თუ ხედავთ - 135 00:06:49,930 --> 00:06:51,810 მოდით მოუტანს, რომ ზედა. 136 00:06:51,810 --> 00:06:55,380 >> ახლა თუ ხედავთ ფრჩხილებში, თქვენ იხ. პატარა tilde, ხაზი, vhost, 137 00:06:55,380 --> 00:06:56,810 slash, ადგილობრივი მასპინძელი. 138 00:06:56,810 --> 00:07:00,040 ასე რომ tilde, რომელიც ეხება ჩემი მთავარი დირექტორია. 139 00:07:00,040 --> 00:07:03,090 ის დირექტორია, თქვენ როდესაც SSH შემოსული 140 00:07:03,090 --> 00:07:05,660 ეს არის დირექტორია, თქვენ, როდესაც თქვენ გახსენით ტერმინალი. 141 00:07:05,660 --> 00:07:08,650 ეს არის, სადაც თქვენ დაიწყოს. 142 00:07:08,650 --> 00:07:13,110 და ამიტომ მე შიგნით ჩემი მთავარი დირექტორია, და მე შიგნით vhost 143 00:07:13,110 --> 00:07:14,475 დირექტორია შიგნით ჩემს სახლში დირექტორია. 144 00:07:14,475 --> 00:07:19,670 და მაშინ მე შიგნიდან ადგილობრივი უმასპინძლებს დირექტორია შიგნით რომ. 145 00:07:19,670 --> 00:07:23,740 >> ასე რომ ზოგიერთი სხვა სასარგებლო რამ cd - 146 00:07:23,740 --> 00:07:29,220 ან კარგად, ზოგადად, ასე dot ყოველთვის ეხება მიმდინარე დირექტორიაში. 147 00:07:29,220 --> 00:07:31,130 Cd, dot არის საკმაოდ უსარგებლო ბრძანება. 148 00:07:31,130 --> 00:07:35,150 მაგრამ ეს იცვლება მიმდინარე დირექტორიაში. 149 00:07:35,150 --> 00:07:38,230 უფრო სასარგებლოა, ერთი თვალსაზრისით cd არის dot, dot, რომელიც 150 00:07:38,230 --> 00:07:40,220 უბრალოდ ერთი დირექტორია. 151 00:07:40,220 --> 00:07:43,360 >> და აღნიშნავენ, რომ ეს - 152 00:07:43,360 --> 00:07:48,610 მინდა ვთქვა, მაგალითი, მაგრამ ეს სიმბოლოები, dot და dot, dot, ვინც მუშაობა 153 00:07:48,610 --> 00:07:51,740 საკმაოდ ბევრი ნებისმიერი ბრძანება თქვენ იქნება ფიქრი გაშვებული. 154 00:07:51,740 --> 00:07:55,370 ასე მოსწონს cd ალბათ სადაც თქვენ გექნებათ გამოყენებით საუკეთესო, მაგრამ ეს არ არის 155 00:07:55,370 --> 00:07:56,780 რამ, რომ მხოლოდ cd ესმის. 156 00:07:56,780 --> 00:07:59,980 ეს საკმაოდ ბევრი რამე თქვენი მთელი ბრძანების ესმის. 157 00:07:59,980 --> 00:08:01,932 ბევრი პროგრამების ესმით, dot და dot, dot. 158 00:08:01,932 --> 00:08:04,830 159 00:08:04,830 --> 00:08:09,090 >> ასე რომ, სხვა სასარგებლო პირობა - CD, dash. 160 00:08:09,090 --> 00:08:13,460 ისე, რომ შეტანას აპირებს ჩემთვის ბოლო დირექტორია, რომ მე ვიყავი შემოსული 161 00:08:13,460 --> 00:08:15,980 ასე რომ ხანდახან მე გავაკეთებ რაღაც, oh, მე მუშაობა აქ. 162 00:08:15,980 --> 00:08:21,110 და მე ვერ ვხედავ რაიმე შეცდომა რაღაც, და მე წასვლა გამოიძიოს აპირებს 163 00:08:21,110 --> 00:08:24,020 შემთხვევითი დირექტორია სადღაც. 164 00:08:24,020 --> 00:08:25,260 და მე არ ვიცი, თუ ის ყველაფერს ნება მომეცით იქ. 165 00:08:25,260 --> 00:08:25,720 ეს იქნება. 166 00:08:25,720 --> 00:08:27,615 ასე რომ გავაკეთო, რასაც მინდა ამ დირექტორიაში. 167 00:08:27,615 --> 00:08:28,950 Blah, blah, blah, blah, blah. 168 00:08:28,950 --> 00:08:31,770 მე კი, როგორიცაა, ყველა უფლება, მე მინდა დაბრუნდეს, სადაც მე ვიყავი. 169 00:08:31,770 --> 00:08:34,490 cd, ტირე, და მას მოაქვს ჩემთვის უფლება უკან. 170 00:08:34,490 --> 00:08:39,970 >> ამიტომ მე ვაპირებ იმისათვის, რომ ბევრი ამ დროს თქვენ დღეს. 171 00:08:39,970 --> 00:08:43,730 მე არ ველით, რომ თქვენ memorize ყველა მათგანი. 172 00:08:43,730 --> 00:08:46,170 ეს არის სახის უბრალოდ ვიცი რომ ისინი არსებობენ. 173 00:08:46,170 --> 00:08:48,690 და შემდეგ, როდესაც თქვენ, როგორიცაა, hmm, მე მინდა დავუბრუნდეთ 174 00:08:48,690 --> 00:08:51,870 დირექტორია, რომ მე ვიყავი მხოლოდ, oh, დაველოდოთ, რაღაც რომ არსებობს. 175 00:08:51,870 --> 00:08:53,980 თქვენ არ გაქვთ უბრალოდ აკრიფოთ მთელი დირექტორია ერთხელ. 176 00:08:53,980 --> 00:08:56,090 >> JOSEPH: და საბოლოოდ თქვენ მხოლოდ მათი გამოყენება უსასრულოდ, და 177 00:08:56,090 --> 00:08:57,830 ეს გავხდებით კუნთების მეხსიერება. 178 00:08:57,830 --> 00:09:00,090 >> ROB: ჰო. 179 00:09:00,090 --> 00:09:02,930 ასე რომ, თუ ვთქვი, რომ tilde არის თქვენი მთავარი დირექტორია. 180 00:09:02,930 --> 00:09:04,820 ასე რომ, შემიძლია, CD, tilde. 181 00:09:04,820 --> 00:09:07,280 მაგრამ მე კი არ უნდა გავაკეთოთ, რომ თუ უბრალოდ - 182 00:09:07,280 --> 00:09:09,760 მე დაბრუნდეს დირექტორია, ისე ეს არ არის უაზრო მაგალითი. 183 00:09:09,760 --> 00:09:14,560 მაგრამ თუ მე უბრალოდ cd, რომელიც ასევე ისევე, როგორც, წასვლა ჩემი მთავარი დირექტორია. 184 00:09:14,560 --> 00:09:18,380 185 00:09:18,380 --> 00:09:19,880 გავაკეთო Command, K. 186 00:09:19,880 --> 00:09:24,015 >> JOSEPH: ასევე შეგიძლიათ აკრიფოთ ნათელი, სიტყვა, და ეს უნდა გარკვევა იგი. 187 00:09:24,015 --> 00:09:28,650 >> ROB: ვფიქრობ, ასევე კონტროლის, L ასევე აკეთებს. 188 00:09:28,650 --> 00:09:29,690 ასე რომ, ბევრი სხვადასხვა გზა. 189 00:09:29,690 --> 00:09:34,070 მე ვფიქრობ, რომ არსებობს გარკვეული განსხვავებები, სადაც ნათელი და კონტროლი, L მხოლოდ 190 00:09:34,070 --> 00:09:37,280 ნამდვილად დააყენებს მას ზედა და მე მაინც გადახვევა უკან. 191 00:09:37,280 --> 00:09:40,580 Command, K ფაქტიურად ანადგურებს ყველაფერი, და თქვენ 192 00:09:40,580 --> 00:09:42,960 ვერ გადახვევა უკან მდე. 193 00:09:42,960 --> 00:09:45,530 სულ ცოტა, რომ როგორ მუშაობს iTerm2. 194 00:09:45,530 --> 00:09:48,690 მე არ ვიცი, როგორ სხვა რამ - 195 00:09:48,690 --> 00:09:49,360 oh. 196 00:09:49,360 --> 00:09:55,450 >> With SSHing ასე რომ, თუ თქვენ Windows, თქვენ აპირებთ უნდა ჩამოტვირთოთ საბაღე 197 00:09:55,450 --> 00:10:02,360 რათა SSH რადგან Windows არ აქვს როგორიცაა ჩაშენებული SSH ინსტრუმენტი. 198 00:10:02,360 --> 00:10:06,150 ეხლა Macs, შეგიძლიათ მხოლოდ SSH პირდაპირ საწყისი ტერმინალის ფანჯარაში. 199 00:10:06,150 --> 00:10:08,755 200 00:10:08,755 --> 00:10:09,690 OK. 201 00:10:09,690 --> 00:10:11,840 კითხვები? 202 00:10:11,840 --> 00:10:19,260 >> With ls, ასე რომ რაღაც შეეგუება უმეტესობა ამ ბრძანებების არის - 203 00:10:19,260 --> 00:10:20,060 ასევე, მე უბრალოდ ერთი. 204 00:10:20,060 --> 00:10:21,310 Ls, ტირე, ლ. 205 00:10:21,310 --> 00:10:26,330 ასე რომ, ტირე, ლ არის, რასაც ჩვენ ვაპირებთ მოვუწოდებთ დროშა ls. 206 00:10:26,330 --> 00:10:30,770 და ბევრი ეს ბრძანებები აქვს flags რომ თქვენ ვერ გაივლის მათ. 207 00:10:30,770 --> 00:10:35,020 ასე რომ, ამ შემთხვევაში, ტირე, ლ არის დროშა რომ ეუბნება ის მომეცი სრული 208 00:10:35,020 --> 00:10:37,850 ჩამონათვალი ყველა ინფორმაცია ეს ფაილი. 209 00:10:37,850 --> 00:10:44,790 >> ასე რომ, ჩვენ ვხედავთ, რომ desktop იყო შეცვლილია 30 ივლისი at 12:54. 210 00:10:44,790 --> 00:10:47,160 გადმოწერა შეიცვალა at 6 სექტემბერს. 211 00:10:47,160 --> 00:10:52,350 ეს არის მიმდინარე და ზომის bytes ამ დასტა. 212 00:10:52,350 --> 00:10:54,412 თქვენ არ უნდა გვესმოდეს ყველა ამ. 213 00:10:54,412 --> 00:11:00,380 >> ამ პერსონალის მარცხენა, ამ drwx ის, რომელიც გახდება ბევრად უფრო შესაბამისი 214 00:11:00,380 --> 00:11:02,290 მოგვიანებით, როდესაც თქვენ უნდა გაუმკლავდეთ - 215 00:11:02,290 --> 00:11:05,900 რომ უნდა გააკეთოს, რომელსაც აქვს უფლებები შევხედოთ ეს ფაილი. 216 00:11:05,900 --> 00:11:09,880 და ასე თუ არ იყო მხოლოდ მომხმარებელი ამ კომპიუტერს, თქვენ შეძლებს 217 00:11:09,880 --> 00:11:13,345 ვთქვათ, OK, მე უნდა იყოს მხოლოდ ერთი დასაშვებია შევხედოთ ამ ფაილის ან მე ვარ 218 00:11:13,345 --> 00:11:14,870 აპირებს საშუალებას ყველას შევხედოთ ამ ფაილის. 219 00:11:14,870 --> 00:11:17,710 ასე რომ ვინმე ჩემს კომპიუტერში შეგვიძლია შევხედოთ ამ ფაილის. 220 00:11:17,710 --> 00:11:22,190 221 00:11:22,190 --> 00:11:25,600 ისიც კი არ ვიცით, რა ამ - რას აკეთებთ? 222 00:11:25,600 --> 00:11:26,840 >> JOSEPH: მე არ ვარ საკმაოდ დარწმუნებული ვარ, რეალურად. 223 00:11:26,840 --> 00:11:27,705 >> ROB: არა იდეა. 224 00:11:27,705 --> 00:11:30,530 >> JOSEPH მაგრამ თუ თქვენ არ იცით, არსებობს გამოსადეგი ბრძანება, რომელიც შეგიძლიათ გამოიყენოთ 225 00:11:30,530 --> 00:11:31,680 გითხრათ რა გამომავალი ნიშნავს. 226 00:11:31,680 --> 00:11:33,780 და თუ ჩაწერეთ კაცი ადრე ბრძანება - 227 00:11:33,780 --> 00:11:35,000 ისე M-A-N. ROB: Man. 228 00:11:35,000 --> 00:11:37,690 ასე რომ, ადამიანი არის კიდევ ერთი ეს არის ძალიან სასარგებლო. 229 00:11:37,690 --> 00:11:39,540 და კაცი, ls. 230 00:11:39,540 --> 00:11:47,320 ასე რომ, კაცი გვერდებზე, მათ აქვთ როგორც ბრძანებები, რომ თქვენ უნდა გამოყენებით 231 00:11:47,320 --> 00:11:50,330 ბრძანებათა ხაზი, და აქვთ ფუნქციები, რომელიც იქნება შესაბამისი 232 00:11:50,330 --> 00:11:52,530 ერთად C. ასე რომ თქვენ შეგიძლიათ Man - 233 00:11:52,530 --> 00:11:53,720 და მე იგნორირებას 3. 234 00:11:53,720 --> 00:11:57,410 მაგრამ man 3 printf შეტანას აპირებს up C მობილური printf. 235 00:11:57,410 --> 00:12:01,030 მაგრამ თუ მე უბრალოდ კაცი printf, ეს არის აპირებს ზრდიან ბრძანება printf 236 00:12:01,030 --> 00:12:03,540 რომ ხდება ბრძანებათა სტრიქონიდან. 237 00:12:03,540 --> 00:12:05,730 >> ასე რომ, ადამიანი, ls. 238 00:12:05,730 --> 00:12:09,030 კაცი გვერდებზე შეიძლება იყოს საკმაოდ აბსოლუტური. 239 00:12:09,030 --> 00:12:12,770 აქ, თუმცა, თქვენ ნახავთ ამ ჩამონათვალი ყველა ამ flags რომ ls 240 00:12:12,770 --> 00:12:14,300 ესმის. 241 00:12:14,300 --> 00:12:17,876 ასე რომ, თუ ჩვენ წასვლა ტირე, ლ, და - 242 00:12:17,876 --> 00:12:19,300 მე უბრალოდ აპირებს იმისათვის, რომ ეს თქვენ. 243 00:12:19,300 --> 00:12:23,050 მაგრამ იმისათვის, რომ მოძებნოთ, გნებავთ პირველი მოხვდა კითხვა 244 00:12:23,050 --> 00:12:24,780 ნიშნის ან slash ღილაკს. 245 00:12:24,780 --> 00:12:26,040 ასე რომ სლეში. 246 00:12:26,040 --> 00:12:29,000 >> და მერე შეგიძლიათ მოძებნოთ რაც მე მინდა. 247 00:12:29,000 --> 00:12:33,780 ამიტომ მე ვაპირებ სლეში განთავსების ტირე, ლ. 248 00:12:33,780 --> 00:12:35,110 და იქ იყო. 249 00:12:35,110 --> 00:12:37,450 ასე რომ გამოიყენოთ გრძელი ჩამონათვალი ფორმატში. 250 00:12:37,450 --> 00:12:40,060 რომელიც არ დამეხმარება გაერკვნენ, თუ რა რომ კონკრეტული სვეტი ნიშნავდა, მაგრამ მე 251 00:12:40,060 --> 00:12:44,480 ვივარაუდოთ, სადღაც აქ ეს იქნებოდა აეხსნა, რომ. 252 00:12:44,480 --> 00:12:48,740 ასე რომ გამოიყენოთ კაცი გვერდებზე ნებისმიერი ბრძანება რომ თქვენ არ მაშინვე ესმით. 253 00:12:48,740 --> 00:12:51,080 >> დარწმუნებული ვარ, თქვენ კი კაცი, კაცი. 254 00:12:51,080 --> 00:12:53,070 ინტერფეისი ონლაინ მინიშნება სახელმძღვანელოები. 255 00:12:53,070 --> 00:12:57,700 256 00:12:57,700 --> 00:13:03,570 ოჰ, ერთი ბოლო ერთი რომ ცოტა შესაბამის არის ls, ტირე, ა. 257 00:13:03,570 --> 00:13:08,490 ასე რომ შეამჩნია, თუ მე უბრალოდ ls, მე კიდევ ამ ხუთი ფაილი. 258 00:13:08,490 --> 00:13:11,480 თუ გავაკეთო ls, ტირე,, მე კიდევ უფრო მეტს ფაილი. 259 00:13:11,480 --> 00:13:15,350 ასე რამ აქვთ საერთო შორის ყველა ამ ახალი ფაილი არის dot წინასწარ. 260 00:13:15,350 --> 00:13:21,220 >> ასე რომ, კონვენციის არის ის, რომ ფაილი, რომელიც იწყება dot იმალება. 261 00:13:21,220 --> 00:13:25,300 ასე რომ თქვენ არ გვინდა, რომ ფაილი, თქვენ არ მინდა, რომ ეს არეულობა 262 00:13:25,300 --> 00:13:26,750 თქვენი დირექტორია ჩამონათვალი. 263 00:13:26,750 --> 00:13:30,020 ეს მხოლოდ მაშინ, როდესაც მკაფიოდ ვთხოვთ, ყველა უფლება, ls, ტირე,, ეჩვენებინა. 264 00:13:30,020 --> 00:13:32,830 დგას ყველა ფაილი, მათ შორის, ფარული მიიჩნიეს. 265 00:13:32,830 --> 00:13:37,260 266 00:13:37,260 --> 00:13:39,270 ასე რომ, ზოგიერთი სხვა ბრძანებები. 267 00:13:39,270 --> 00:13:41,323 Oh, კითხვები იმ ეტაპზე? 268 00:13:41,323 --> 00:13:41,746 დიახ. 269 00:13:41,746 --> 00:13:45,914 >> დინამიკები 3: როცა ls, , რა dot, dot? 270 00:13:45,914 --> 00:13:46,870 >> ROB: Oh. 271 00:13:46,870 --> 00:13:48,780 ასე რომ, ეს არის ის, რაც მე საუბარი. 272 00:13:48,780 --> 00:13:50,890 ეს იგივე სადაც შემიძლია მინდა cd, dot, dot. 273 00:13:50,890 --> 00:13:56,790 ისე ტექნიკურად, dot და dot, dot არის ფაილი, რომელიც არსებობს თითოეული 274 00:13:56,790 --> 00:14:03,620 დირექტორია სადაც dot ფაილის ეხება მიმდინარე დირექტორიაში. 275 00:14:03,620 --> 00:14:06,930 ასე რომ, თუ მე cd, dot, მე უბრალოდ აპირებს დარჩენა დირექტორია. 276 00:14:06,930 --> 00:14:10,870 და dot, dot ყოველთვის ეხება წინა დირექტორია ერთ დონეზე up. 277 00:14:10,870 --> 00:14:18,200 ასე რომ, თუ მე წასვლას ჟურნალი და ls, ტირე, al, მე ვხედავ dot, dot. cd to dot, dot 278 00:14:18,200 --> 00:14:20,390 მოაქვს ჩემთვის წინა დირექტორია. 279 00:14:20,390 --> 00:14:24,530 280 00:14:24,530 --> 00:14:25,780 ჰო. 281 00:14:25,780 --> 00:14:27,160 282 00:14:27,160 --> 00:14:28,110 OK. 283 00:14:28,110 --> 00:14:33,070 >> ასე რომ, კიდევ ერთი საკმაოდ მნიშვნელოვანი ბრძანება rm. 284 00:14:33,070 --> 00:14:35,650 ასე რომ, რასაც ჩვენ ვაპირებთ გამოყენება ამოიღონ. 285 00:14:35,650 --> 00:14:38,100 და ნება მომეცით რეალურად გავაკეთოთ სხვა ბრძანების პირველი. 286 00:14:38,100 --> 00:14:39,610 ასე რომ, mkdir. 287 00:14:39,610 --> 00:14:42,770 Mkdir არის, თუ როგორ შეგიძლიათ შევქმნათ დასტა. 288 00:14:42,770 --> 00:14:47,530 და მე დროებითი საქაღალდის შექმნა და წასვლას, რომ დროებითი დირექტორია. 289 00:14:47,530 --> 00:14:49,590 და, როგორც მოსალოდნელია, ის ცარიელი. 290 00:14:49,590 --> 00:14:53,680 მაგრამ თუ მე ls, ტირე,, კიდევ მაქვს dot და dot, dot, რადგან dot ეხება 291 00:14:53,680 --> 00:14:54,480 მიმდინარე დირექტორიაში. 292 00:14:54,480 --> 00:14:56,170 და dot, dot ეხება წინა დირექტორია. 293 00:14:56,170 --> 00:14:58,700 და ის ყოველთვის იარსებებს არ აქვს მნიშვნელობა, დირექტორია ხართ შემოსული 294 00:14:58,700 --> 00:15:01,910 295 00:15:01,910 --> 00:15:09,010 >> და ეს არის სრულიად არასაჭირო ბრძანება, მაგრამ შეხება. 296 00:15:09,010 --> 00:15:11,880 მე უბრალოდ იყენებს მას, რადგან ეს მარტივი გზა შექმნათ ფაილი. 297 00:15:11,880 --> 00:15:16,180 ასე რომ შეეხოთ, შეეხოთ b, c შეეხოთ მხოლოდ აპირებს შექმნას სამი ფაილი მოუწოდა, 298 00:15:16,180 --> 00:15:17,845 b და c, რომლებიც სრულიად ცარიელია. 299 00:15:17,845 --> 00:15:20,450 300 00:15:20,450 --> 00:15:24,980 ასე რომ წერტილი me შექმნაში იმ პირველ რიგში, მხოლოდ ისე, რომ rm არის 301 00:15:24,980 --> 00:15:26,250 როგორ შეგვიძლია ამოიღონ მათ. 302 00:15:26,250 --> 00:15:27,850 ასე რომ, rm, ა. 303 00:15:27,850 --> 00:15:30,960 ის აპირებს მკითხავთ, წაშლა რეგულარული ცარიელი ფაილი? 304 00:15:30,960 --> 00:15:33,170 და მაშინ მე ვიტყვი, დიახ. 305 00:15:33,170 --> 00:15:39,090 >> ასე რომ, თუ მე ვიცი, რომ მინდა წაშლას რომ ფაილი გარეშე იქნება 306 00:15:39,090 --> 00:15:44,500 მოთხოვნილია, ამოიღონ რეგულარული ცარიელი ფაილი?, მაშინ rm, ტირე, f იქნება 307 00:15:44,500 --> 00:15:48,230 დროშა, რომელიც ამბობს, აიძულოს ამოიღონ გარეშე კი რითაც ჩემთვის, oh, თქვენ 308 00:15:48,230 --> 00:15:49,710 ნამდვილად გსურთ წაშალოთ ფაილი? 309 00:15:49,710 --> 00:15:50,810 დიახ, დარწმუნებული ვარ. 310 00:15:50,810 --> 00:15:56,050 ასე რომ, rm, ტირე, fb მხოლოდ ამის გარეშე ითხოვს. 311 00:15:56,050 --> 00:15:57,950 >> ასე რომ, მოდით კიდევ რამდენიმე დასტა. 312 00:15:57,950 --> 00:16:03,670 mkdir, tmp2, CD, tmp2, შეეხოთ, შეეხოთ ბ. 313 00:16:03,670 --> 00:16:04,300 OK. 314 00:16:04,300 --> 00:16:08,180 ასე რომ, ახლა მე მინდა ამოიღონ tmp2 როგორც დირექტორია. 315 00:16:08,180 --> 00:16:10,316 ასე რომ, rm tmp2. 316 00:16:10,316 --> 00:16:12,920 თქვენ ვერ ამოიღონ tmp2, ეს არის დირექტორია. 317 00:16:12,920 --> 00:16:21,370 ასე რომ საკითხი ისაა, რომ rm არ დაუყოვნებლივ მუშაობა დირექტორიების. 318 00:16:21,370 --> 00:16:26,530 ის მხოლოდ იმას ნიშნავდა, ფაილი, როგორიცაა არასამთავრობო დირექტორია ფაილი. 319 00:16:26,530 --> 00:16:30,800 >> და ასე შემდეგ რა შეგვიძლია გავაკეთოთ აქ არის rm, ტირე, რ. 320 00:16:30,800 --> 00:16:35,160 რომ დგას რეკურსიული, რომელიც შეიძლება არაფერს ნიშნავს, რომ თქვენ ამჟამად. 321 00:16:35,160 --> 00:16:38,280 მაგრამ როდესაც თქვენ მიიღებთ უკან, ეს კიდე ნიშნავს მეტი. 322 00:16:38,280 --> 00:16:43,540 ასე რომ, rm, ტირე, r, tmp2 აპირებს რეკურსიული წასვლას რომ დირექტორია. 323 00:16:43,540 --> 00:16:45,540 ასე წარმოშობის შევიდა დირექტორია tmp2? 324 00:16:45,540 --> 00:16:47,330 დიახ, მოდით წასვლას რომ. 325 00:16:47,330 --> 00:16:49,360 გვინდა ამოიღონ tmp2 / a? 326 00:16:49,360 --> 00:16:49,745 დიახ. 327 00:16:49,745 --> 00:16:51,830 გვინდა ამოიღონ tmp2 / b? 328 00:16:51,830 --> 00:16:52,840 დიახ. 329 00:16:52,840 --> 00:16:55,170 ახლა გვინდა წაშლა დირექტორია tmp2? 330 00:16:55,170 --> 00:16:56,040 დიახ. 331 00:16:56,040 --> 00:16:58,410 და ახლა დირექტორია და ყველაფერი შიგნით 332 00:16:58,410 --> 00:16:59,660 ის უკვე წაშლილია. 333 00:16:59,660 --> 00:17:02,850 334 00:17:02,850 --> 00:17:07,250 >> არ არის ტექნიკურად ბრძანება rmdir რომ თქვენ შეგიძლიათ გამოიყენოთ წაშლა 335 00:17:07,250 --> 00:17:11,670 დირექტორიები, მაგრამ ეს მხოლოდ სამუშაოები ცარიელი დასტა მაინც. 336 00:17:11,670 --> 00:17:14,109 და ვხედავ, რომ, მოდით უბრალოდ გავაკეთოთ mkdir, tmp2 ერთხელ. 337 00:17:14,109 --> 00:17:15,940 Tmp2, შეეხოთ. 338 00:17:15,940 --> 00:17:16,800 OK. 339 00:17:16,800 --> 00:17:22,770 ასე თუ ცდილობენ ამოიღონ dirtmp2, ეს თქვენ ამბობენ, რომ დირექტორია არ არის ცარიელი. 340 00:17:22,770 --> 00:17:29,540 ასე რომ, მე საკმაოდ ბევრი არასდროს არ გამოიყენოთ remove რეჟ ბრძანება მაინც, რადგან rm, ტირე, 341 00:17:29,540 --> 00:17:35,140 r იმუშავებს ცარიელია დირექტორიები და არასამთავრობო ცარიელი დასტა. 342 00:17:35,140 --> 00:17:37,760 >> ასევე, თუ მე არ მინდა, რომ უნდა გავლა, რომ მთელი პროცესი 343 00:17:37,760 --> 00:17:40,720 დაღმავალი შევიდა დირექტორიაში და მოხსნის თითოეული ფაილი, rm, 344 00:17:40,720 --> 00:17:44,190 ტირე, rf, tmp2. 345 00:17:44,190 --> 00:17:45,670 და ახლა ის წავიდა. 346 00:17:45,670 --> 00:17:51,220 >> რაღაც ფრთხილად შესახებ არის rm, ტირე, rf. 347 00:17:51,220 --> 00:17:53,660 და ეს scares ჩემთვის კი აკრიფოთ ის, იმიტომ, რომ თუ მე შემთხვევით 348 00:17:53,660 --> 00:17:55,090 დააჭიროთ ან რამე. 349 00:17:55,090 --> 00:18:02,735 ასე რომ, rm, ტირე, rf, tilde რომ გარეშე რითაც ჩემთვის, f არ შეეკითხება 350 00:18:02,735 --> 00:18:05,670 ჩემთვის, ეს იქნება ავტომატურად წაშლა მთელი ჩემი მთავარი დირექტორია და 351 00:18:05,670 --> 00:18:06,780 ყველაფერი ეს. 352 00:18:06,780 --> 00:18:11,460 ასე რომ თქვენ შეიძლება ვფიქრობ, რომ ის სულელური რამ უნდა გააკეთოს. 353 00:18:11,460 --> 00:18:12,830 და ასევე, ის არის. 354 00:18:12,830 --> 00:18:18,600 >> მაგრამ ეს შეიძლება მოხდეს ძალიან ადვილად უბედური შემთხვევა თუ, ვთქვათ, მინდოდა წაშლა 355 00:18:18,600 --> 00:18:21,640 ჩემი ხაზი, vhost დირექტორია. 356 00:18:21,640 --> 00:18:26,610 და მხოლოდ სწრაფი აკრეფით, მე შემთხვევით ამის გაკეთება. 357 00:18:26,610 --> 00:18:31,880 რომ ამოიღონ რეკურსიული როგორც ჩემი მთავარი დირექტორია და vhost დირექტორია 358 00:18:31,880 --> 00:18:35,450 ამ კონკრეტულ დირექტორია, რომელიც მხოლოდ ხდება არ არსებობს ახლა. 359 00:18:35,450 --> 00:18:39,520 მაგრამ ეს მაინც ამოიღონ მთელი ჩემი მთავარი დირექტორია. 360 00:18:39,520 --> 00:18:43,090 მაინც არ მქონე f, ეს იქნებოდა შეეკითხება ჩემთვის პირველი. 361 00:18:43,090 --> 00:18:45,670 და მე მინდა იყოს, როგორიც, რა, არა, მე არ მინდა ამის გაკეთება. 362 00:18:45,670 --> 00:18:50,570 მაგრამ ხალხი, ირიბის, მათ შორის, მე, როგორც წესი, მოხვდება 363 00:18:50,570 --> 00:18:53,090 ჩვევა ყოველთვის rf-Ing. 364 00:18:53,090 --> 00:18:58,713 მაშინაც კი, ჩვეულებრივი ფაილი, რომელიც მე შემიძლია მხოლოდ RM, c, მე, როგორც წესი, მხოლოდ rm, ტირე, rf, გ. 365 00:18:58,713 --> 00:19:01,330 უბრალოდ ფრთხილად, როდესაც თქვენ rf-Ing. 366 00:19:01,330 --> 00:19:03,160 >> დინამიკები 4: რა C გავაკეთოთ? 367 00:19:03,160 --> 00:19:11,570 >> ROB: C არის მე ვსაუბრობ, რომ C ფაილი ამ დირექტორიაში, რომელიც rm, გ. 368 00:19:11,570 --> 00:19:15,730 >> JOSEPH: და უფრო სახიფათო, თუ თქვენ იყენებთ ვარსკვლავი, ეს ეხება ყველაფერს 369 00:19:15,730 --> 00:19:16,450 დირექტორია. 370 00:19:16,450 --> 00:19:20,040 ასე რომ, რაც მე ხშირად ტენდენცია გავაკეთოთ არის მე წასვლას დირექტორია და მინდა 371 00:19:20,040 --> 00:19:21,510 ამოიღონ ყველა ფაილი არსებობს. 372 00:19:21,510 --> 00:19:23,640 ასე რომ, rm, ტირე, rf, ვარსკვლავი. 373 00:19:23,640 --> 00:19:25,700 >> ROB: ჰო. 374 00:19:25,700 --> 00:19:26,780 Rm, ტირე, rf, ვარსკვლავი. 375 00:19:26,780 --> 00:19:29,530 >> JOSEPH: თუ თქვენ არ ფრთხილად რა დირექტორია, თქვენ - 376 00:19:29,530 --> 00:19:33,340 მე არ temp, მაგრამ მე შემთხვევით ჩემი მთავარი დირექტორია, 377 00:19:33,340 --> 00:19:35,450 მაშინ მე ამოიღონ ყველაფერი ჩემი მთავარი დირექტორია. 378 00:19:35,450 --> 00:19:39,095 და მე რეალურად გაკეთდეს, რომ ადრე, და მე ვფიქრობ, თქვენ გავაკეთეთ ეს ადრე თუ 379 00:19:39,095 --> 00:19:40,640 Jay გააკეთა, რომ ადრე. 380 00:19:40,640 --> 00:19:42,480 >> ROB: მე შემთხვევით ამოღებულ - 381 00:19:42,480 --> 00:19:44,480 ასე იგნორირება, რომ ბრძანება ცოტა. 382 00:19:44,480 --> 00:19:45,800 >> JOSEPH არ fun. 383 00:19:45,800 --> 00:19:52,650 >> ROB: ასე რომ slash bin დირექტორია bunch of ორობითი ფაილი იქ, სადაც ყველაფერს 384 00:19:52,650 --> 00:19:54,840 იყოს ნაცნობი პირობა, როგორიცაა Clang. 385 00:19:54,840 --> 00:20:00,740 ასევე, Clang და ძირითადად ყველა ამ რამ, რომ მე გაშვებული ბრძანებათა 386 00:20:00,740 --> 00:20:02,060 ხაზი ამ slash bin დირექტორია. 387 00:20:02,060 --> 00:20:03,090 >> JOSEPH: Like ls არის აქ. 388 00:20:03,090 --> 00:20:06,285 >> ROB: ასე dot, ირიბის, ls სურს სიაში ამ დირექტორია. 389 00:20:06,285 --> 00:20:08,120 >> JOSEPH: Rm ასევე ამ დირექტორიაში. 390 00:20:08,120 --> 00:20:12,770 >> ROB: მე არ შემთხვევით RM, rf-ed bin, რომელიც ამოღებულ ნებისმიერი ბრძანება შემეძლო 391 00:20:12,770 --> 00:20:14,380 შესაძლოა ოდესმე გვინდა. 392 00:20:14,380 --> 00:20:18,085 რომელიც შემდეგ მე უბრალოდ გადაყენება ახალი ელექტრო იმ ეტაპზე. 393 00:20:18,085 --> 00:20:20,170 >> JOSEPH ასე რომ ძალიან ფრთხილად, როდესაც თქვენ გამოიყენოს ეს ბრძანება. 394 00:20:20,170 --> 00:20:21,120 >> აუდიტორია: [INAUDIBLE]? 395 00:20:21,120 --> 00:20:22,640 >> ROB: დიახ. 396 00:20:22,640 --> 00:20:24,135 რომ ასევე ცუდი ჩვევა შეღწევას. 397 00:20:24,135 --> 00:20:27,920 398 00:20:27,920 --> 00:20:30,170 თუ თქვენ შეამჩნევთ, მე ახლა - 399 00:20:30,170 --> 00:20:33,580 ასევე, თქვენ ვერ შეამჩნევთ, მაგრამ ჩემი zoom-in იქნებ შეგიძლიათ. 400 00:20:33,580 --> 00:20:35,360 ასე რომ, მე ახლა root @ მოწყობილობების. 401 00:20:35,360 --> 00:20:39,790 ასე რომ jharvard არის მომხმარებლის გვინდა თქვენ ყოველთვის გამოყენებით. 402 00:20:39,790 --> 00:20:43,820 ფესვი მომხმარებელს, რომელსაც აქვს ნებართვა გავაკეთოთ აბსოლუტურად არაფერი. 403 00:20:43,820 --> 00:20:50,260 >> ასე რომ შეამჩნია, როდესაც მე jharvard, თუ ვცდილობ cd - 404 00:20:50,260 --> 00:20:52,461 რა არის დირექტორია, რომ? 405 00:20:52,461 --> 00:20:53,980 Oh, root არის კარგი მაგალითი. 406 00:20:53,980 --> 00:20:54,950 ასე რომ, CD, root. 407 00:20:54,950 --> 00:20:56,030 ნებართვა უარყო. 408 00:20:56,030 --> 00:21:00,060 რადგან თუ გადავხედავთ ამ ჩამონათვალს - 409 00:21:00,060 --> 00:21:02,410 და კიდევ ერთხელ, თქვენ არ უნდა მთლიანად ესმით. 410 00:21:02,410 --> 00:21:09,210 მაგრამ ამ სამი dashes ვამბობთ რომ არ დაუშვა რაიმე სხვა 411 00:21:09,210 --> 00:21:11,120 შესახებ ამ დირექტორიაში. 412 00:21:11,120 --> 00:21:14,540 და დირექტორია ხდება უნდა მფლობელია შესახებ root. 413 00:21:14,540 --> 00:21:20,310 >> ასე რომ ის ფაქტი, რომ მე ვარ jharvard და არა ვინც არ არის root არის შეუშვეს 414 00:21:20,310 --> 00:21:23,490 ამ დირექტორიაში, რაც იმას ნიშნავს, რომ მე ვარ აპირებს მისაღებად ნებართვის უარყო, როდესაც მე 415 00:21:23,490 --> 00:21:25,160 ცდილობენ cd მივანიჭო. 416 00:21:25,160 --> 00:21:31,370 ასე რომ, როდესაც მე ვარ root, მაქვს ნებართვა გავაკეთოთ აბსოლუტურად არაფერი, მათ შორის, 417 00:21:31,370 --> 00:21:34,660 წაშლა არსებითი ფაილი ელექტრო და 418 00:21:34,660 --> 00:21:36,640 გაანადგუროს მთელი რამ. 419 00:21:36,640 --> 00:21:41,240 >> ასე რომ, ეს ცუდი ჩვევა შეღწევას უბრალოდ მოხეტიალე გარშემო 420 00:21:41,240 --> 00:21:43,650 ოპერაციული სისტემა, როგორც root. 421 00:21:43,650 --> 00:21:46,520 მე ამას მაინც. 422 00:21:46,520 --> 00:21:48,710 კითხვები? 423 00:21:48,710 --> 00:21:52,230 და მე გასვლა root, დარჩება, როგორც jharvard. 424 00:21:52,230 --> 00:21:54,510 OK. 425 00:21:54,510 --> 00:21:55,820 >> უფრო შესაბამისი ბრძანებები. 426 00:21:55,820 --> 00:22:03,975 ასე ბრუნდება ჩვენს temp, mv ბრძანება დგას ნაბიჯი. 427 00:22:03,975 --> 00:22:05,450 თქვენ შეგიძლიათ გადაადგილება. 428 00:22:05,450 --> 00:22:07,610 ახლა ჩვენ გვინდა ეძახით b, ასე რომ, ახლა ეს ე.წ. ბ. 429 00:22:07,610 --> 00:22:10,650 ან იქნებ გვინდა ვიაროთ ბ გაეზარდა დირექტორია. 430 00:22:10,650 --> 00:22:12,730 ასე რომ, ახლა ამ დირექტორიაში ცარიელი. 431 00:22:12,730 --> 00:22:15,410 მე დაბრუნდეს ჩემი მთავარი დირექტორია, და ჩვენ ვხედავთ, რომ ბ არის აქ, რადგან 432 00:22:15,410 --> 00:22:19,230 მთავარი დირექტორია იყო ერთ დირექტორიაში მდე დირექტორია, რომ b იყო შემოსული 433 00:22:19,230 --> 00:22:24,710 434 00:22:24,710 --> 00:22:26,580 >> არსებობს ასევე cp. 435 00:22:26,580 --> 00:22:33,210 ასე რომ cp არის კოპირება super განყოფილებიანი, dot, ტექსტი. 436 00:22:33,210 --> 00:22:35,750 მე მოვუწოდებ მას s, dot, ტექსტი. 437 00:22:35,750 --> 00:22:39,780 ახლა ჩვენ ორივე super განყოფილებიანი, dot, ტექსტი და s, dot, ტექსტი. 438 00:22:39,780 --> 00:22:41,340 ეს ასევე მუშაობს დირექტორიების. 439 00:22:41,340 --> 00:22:44,040 440 00:22:44,040 --> 00:22:46,560 I RF-ed ერთი ფაილი. 441 00:22:46,560 --> 00:22:48,200 ასე რომ cp - 442 00:22:48,200 --> 00:22:51,710 ასევე, პირველი მოდით ცდილობენ cp, tmp, tmp2. 443 00:22:51,710 --> 00:22:53,220 ასე რომ, omitting დირექტორია tmp. 444 00:22:53,220 --> 00:22:57,440 ასე რომ, მსგავსი RM, რა ქცევა არის, რომ არ იმუშაოს დირექტორიების. 445 00:22:57,440 --> 00:23:01,570 >> და ისევ, მსგავსი RM, რა ქცევა - კარგად, მიღების ეს მუშაობა 446 00:23:01,570 --> 00:23:04,230 ერთად დირექტორიები არის, ტირე-r დაშორებით. 447 00:23:04,230 --> 00:23:09,240 ასე რომ გადაწერეთ რეკურსიული temp დირექტორია შევიდა tmp2. 448 00:23:09,240 --> 00:23:13,700 და ახლა ჩვენ ორივე tmp და tmp2, და რომ არ არის, რომ სასარგებლოა, რადგან tmp 449 00:23:13,700 --> 00:23:16,814 ცარიელი იყო, პირველ რიგში. 450 00:23:16,814 --> 00:23:18,660 Tmp2. 451 00:23:18,660 --> 00:23:22,680 >> ახლა მოდით კოპირება tmp თარგმნეს tmp2. 452 00:23:22,680 --> 00:23:27,900 და ჩვენ ვხედავთ, რომ tmp2 ასევე აქვს ფაილის იმის გამო, რომ დირექტორიაში და 453 00:23:27,900 --> 00:23:32,220 ყველაფერი შიგნით რომ დირექტორია იყო გადაწერილი. 454 00:23:32,220 --> 00:23:36,000 და რომ შეიძლება იყოს გარკვეულწილად სასარგებლო თუ, ვთქვათ თქვენ ვმუშაობთ 455 00:23:36,000 --> 00:23:38,860 on პრობლემა მითითებული ერთ - 456 00:23:38,860 --> 00:23:41,320 ან რეალურად, მოგვიანებით პრობლემა კომპლექტი კიდევ უფრო მნიშვნელოვანია, რადგან არსებობს 457 00:23:41,320 --> 00:23:43,660 იქნება მთელი bunch ფაილი და რამ. 458 00:23:43,660 --> 00:23:47,010 >> მაგრამ გსურს, გაყოფილი მეორე, თქვენ, ისევე როგორც, ყველა უფლება, მე ვარ 459 00:23:47,010 --> 00:23:50,210 ვაპირებ ცდილობენ რაღაც განსხვავებული. 460 00:23:50,210 --> 00:23:57,860 ნება მომეცით უბრალოდ დააკოპირეთ მთელი ჩემი pset1 დირექტორია შევიდა pset1 სარეზერვო ასე რომ თუ 461 00:23:57,860 --> 00:24:01,490 მე დასრულდება მდე screwing რამ, მე არ შემიძლია დავუბრუნდეთ ჩემს სარეზერვო დირექტორია. 462 00:24:01,490 --> 00:24:07,340 არსებობს უფრო მისაღები გზები versioning ვაცოცხლებთ თქვენი კოდი, მაგრამ 463 00:24:07,340 --> 00:24:10,610 ეს ყოველთვის სწრაფი გზა მხოლოდ დარწმუნდით აქვს ასლი რაღაც 464 00:24:10,610 --> 00:24:11,860 რომ თქვენ უნდა ცვლილებები. 465 00:24:11,860 --> 00:24:16,974 466 00:24:16,974 --> 00:24:27,090 >> ასე რომ echo ასევე ერთჯერადი ბრძანება, რომ სახის sillily მხოლოდ ბეჭდვა 467 00:24:27,090 --> 00:24:31,540 ბრძანების ზუსტად რა თქვენ სურდა ეხმიანება. 468 00:24:31,540 --> 00:24:32,680 ასე ეხმიანება hi. 469 00:24:32,680 --> 00:24:35,420 ჩვენ უბრალოდ ბეჭდვა hi. 470 00:24:35,420 --> 00:24:38,030 Echo მიესალმები მსოფლიოში. 471 00:24:38,030 --> 00:24:39,800 ჩვენ ბეჭდვა Hello World. 472 00:24:39,800 --> 00:24:44,350 რომელიც ძალაში გამოყენება როდესაც თქვენ დაიწყოს აერთიანებს ბრძანებები. 473 00:24:44,350 --> 00:24:48,300 >> ისევ და ისევ, არ ველით, რომ თქვენ მთლიანად მესმის ეს, მაგრამ ეს 474 00:24:48,300 --> 00:24:49,910 რაღაც დაინახოს. 475 00:24:49,910 --> 00:24:52,470 და შემდეგ თუ თქვენ Googling მაგალითები ან ხვდები გსურთ 476 00:24:52,470 --> 00:24:55,030 რაღაც, ეს შეიძლება იყოს სასარგებლო. 477 00:24:55,030 --> 00:24:59,020 მოდით, მაგალითად, ასე რომ, ls, ტირე, ლ. 478 00:24:59,020 --> 00:25:01,160 ასე რომ აქ მე ვხედავ გამომავალი საქართველოს ls, ტირე, ლ. 479 00:25:01,160 --> 00:25:06,560 და მე ვიტყვი, OK, მე მინდა შესანახად რომ შევიდა ფაილი. 480 00:25:06,560 --> 00:25:11,620 ყველა ამ output აქ, მინდა ექსპლუატაციაში შევიდა ცალკე ფაილი. 481 00:25:11,620 --> 00:25:16,080 >> ასე რომ, ეს ცოტა უფრო მეტი, ვიდრე სიმბოლო არის ის, რასაც ჩვენ ვაპირებთ მოვუწოდებთ. 482 00:25:16,080 --> 00:25:18,570 ჩვენ გადამისამართება გამომავალი შევიდა ფაილი. 483 00:25:18,570 --> 00:25:21,680 მოდით მოვუწოდებთ ფაილის blah, იმიტომ, რომ ის, რაც მე, როგორც წესი, ყოველთვის ეძახით. 484 00:25:21,680 --> 00:25:26,430 ახლა ჩვენ ვხედავთ, რომ ჩვენ გვაქვს ფაილის blah უფლება აქ. 485 00:25:26,430 --> 00:25:30,270 და თუ გავხსნა ეს, მე ვხედავ, რომ ეს ზუსტად გამომავალი ბრძანება 486 00:25:30,270 --> 00:25:31,990 რომ მე უბრალოდ გაიქცა. 487 00:25:31,990 --> 00:25:36,020 და ანალოგიურად, შეგიძლიათ - 488 00:25:36,020 --> 00:25:41,260 თუ ეს იყო გამომავალი ფაილი, ამ არის კიდევ შეყვანის ფაილი. 489 00:25:41,260 --> 00:25:45,790 490 00:25:45,790 --> 00:25:47,050 რა არის ბრძანება, რომ მე - 491 00:25:47,050 --> 00:25:49,620 >> JOSEPH ვფიქრობ, შეგიძლიათ გამოიყენოთ ნაკლები ან მეტი, ალბათ. 492 00:25:49,620 --> 00:25:53,031 >> ROB: მაგრამ რა უბრალოდ ნაკლები blah? 493 00:25:53,031 --> 00:25:53,930 მე არ ვიცი. 494 00:25:53,930 --> 00:25:57,870 თუ თქვენ მოვიდეს ამ სცენარით, როგორც იქ psets რომ ის სასარგებლოა. 495 00:25:57,870 --> 00:25:59,950 >> JOSEPH შეგიძლიათ მილის შევიდა echo. 496 00:25:59,950 --> 00:26:02,920 Pipe ფაილის შევიდა echo რომ ნახოთ იგი. 497 00:26:02,920 --> 00:26:04,060 >> ROB: ეს არის მილის. 498 00:26:04,060 --> 00:26:04,860 >> JOSEPH: უკაცრავად. 499 00:26:04,860 --> 00:26:06,190 >> ROB: ყველა უფლება. 500 00:26:06,190 --> 00:26:12,720 ასე რომ, ეს არის გამომავალი ფაილი. 501 00:26:12,720 --> 00:26:18,700 ეს არის მიიღოთ ტექსტური ფაილი და გადასცემს პროგრამა. 502 00:26:18,700 --> 00:26:20,560 და თქვენ ასევე ვხედავთ ამ ბიჭს. 503 00:26:20,560 --> 00:26:24,410 ასე რომ, ეს სახის აკეთებს ორივე ერთდროულად. 504 00:26:24,410 --> 00:26:28,310 და რეალურად, მე წარმოგიდგინოთ ორი ახალი ბრძანებები მხოლოდ გამოიყენოს იგი. 505 00:26:28,310 --> 00:26:33,060 >> ისტორია არის მოსახერხებელი ბრძანება, რომ მხოლოდ აპირებს ამობეჭდოთ ჩამონათვალი 506 00:26:33,060 --> 00:26:34,940 არაფერი მე ოდესმე აწარმოებს ბრძანებათა სტრიქონიდან. 507 00:26:34,940 --> 00:26:38,290 ასე რომ, ჩვენ ვხედავთ, აქ ყველაფერი, რაც მე მაქვს გაშვებული მთელი ამ ხნის განმავლობაში. 508 00:26:38,290 --> 00:26:39,540 უამრავი ls-ს. 509 00:26:39,540 --> 00:26:41,570 510 00:26:41,570 --> 00:26:48,470 >> და კიდევ ერთი სასარგებლო ბრძანება grep, რომ მისი მიზანია მოძიება მეტი 511 00:26:48,470 --> 00:26:52,060 ტექსტის ეძებს ნიმუშების, ასევე, ეძებს რასაც თქვენ 512 00:26:52,060 --> 00:26:53,310 მინდა, რომ უნდა ვეძებოთ. 513 00:26:53,310 --> 00:26:59,770 და ასე მოსახერხებელი გამოყენება აქ არის, ვთქვათ ჩვენ გვინდა, რომ დაიბრუნოს ისტორია. 514 00:26:59,770 --> 00:27:03,860 და მინდა ვეძებოთ ბრძანებები სადაც მე - რა 515 00:27:03,860 --> 00:27:05,000 სასარგებლო ერთი ვეძებთ? 516 00:27:05,000 --> 00:27:06,898 >> JOSEPH: [INAUDIBLE]? 517 00:27:06,898 --> 00:27:09,710 >> ROB: Or მოდით შევჩერდეთ ყველა ეხება, სხვადსხვა მიზეზის გამო. 518 00:27:09,710 --> 00:27:13,850 ასე რომ, ეს არის ის, რაც გამოიყურება ასე. 519 00:27:13,850 --> 00:27:15,560 და თქვენ არ უნდა მთლიანად მესმის, რომ. 520 00:27:15,560 --> 00:27:20,570 მაგრამ იდეა აქ არის, ისტორიის მიცემა იგივე გამომავალი ეს აქ 521 00:27:20,570 --> 00:27:25,030 სადაც ეს დაბეჭდვისას მთელი ისტორიაში ყველაფერი მე ოდესმე აწარმოებს. 522 00:27:25,030 --> 00:27:27,030 ჩვენ მაშინ ავლით, რომ - 523 00:27:27,030 --> 00:27:30,230 ასე რომ ნაცვლად ბეჭდვას ის ეკრანზე, ჩვენ გვინდა, რომ გაივლის, რომ 524 00:27:30,230 --> 00:27:34,640 ბრძანება grep რომელიც ეძებს ყველა ინსტანციის სიტყვა touch. 525 00:27:34,640 --> 00:27:40,280 >> და ა.შ. გამოყენებით ამ კომბინაცია ინსტრუმენტები ისტორია და grep, მე ვხედავ, OK, 526 00:27:40,280 --> 00:27:44,820 აქ არის ყველა ბრძანებას მე ოდესმე აწარმოებს, და აქ გარკვეულწილად საერთო ერთი. 527 00:27:44,820 --> 00:27:45,510 ჩვენ ბოლოში. 528 00:27:45,510 --> 00:27:47,930 და ეს ასევე მაძლევს ბრძანება მე უბრალოდ გაიქცა რომ ჰქონდა 529 00:27:47,930 --> 00:27:51,240 სიტყვა touch მას. 530 00:27:51,240 --> 00:27:58,500 მაგრამ მილის არის საკმაოდ სასარგებლო რამ აერთიანებს სხვადასხვა პროგრამები. 531 00:27:58,500 --> 00:28:04,670 და რეალურად, ეს კომბინაცია for let me გამომავალი history შეიტანოს blah, და 532 00:28:04,670 --> 00:28:10,190 ნება მომეცით grep გამოყენებით ფაილის blah რაც მინდა გამოიყურებოდეს მეტი. 533 00:28:10,190 --> 00:28:13,460 ასე რომ, მილის არის მხოლოდ მალსახმობი ამ ორი ბრძანებები. 534 00:28:13,460 --> 00:28:13,950 დიახ. 535 00:28:13,950 --> 00:28:15,306 >> დინამიკები 4: [INAUDIBLE]? 536 00:28:15,306 --> 00:28:16,556 >> ROB: დიახ. 537 00:28:16,556 --> 00:28:20,142 538 00:28:20,142 --> 00:28:21,110 რა არის - 539 00:28:21,110 --> 00:28:21,858 Oh. 540 00:28:21,858 --> 00:28:24,820 მოდით შეამოწმოთ. 541 00:28:24,820 --> 00:28:29,170 ასე რომ, კატა, ძაღლი, თევზი. 542 00:28:29,170 --> 00:28:33,770 ასე რომ, მინდა grep. 543 00:28:33,770 --> 00:28:37,680 Dash, r, კიდევ ერთხელ, იქნება რეკურსიული, ამიტომ მინდა წარმოშობის ქვემოთ 544 00:28:37,680 --> 00:28:38,870 ყველა დასტა. 545 00:28:38,870 --> 00:28:43,210 მინდა რეკურსიული grep ყველა - და ნება მომეცით დროებით მისაღებად 546 00:28:43,210 --> 00:28:44,460 ამ გზას. 547 00:28:44,460 --> 00:28:48,650 548 00:28:48,650 --> 00:28:50,740 იგნორირება ჩემთვის. 549 00:28:50,740 --> 00:28:51,360 OK. 550 00:28:51,360 --> 00:28:56,740 >> ასე რომ, მინდა დროებით grep for ყველა ინსტანციის სიტყვა თევზი. 551 00:28:56,740 --> 00:29:00,510 და ა.შ. აქ, რასაც მე ვაკეთებ არის grepping რეკურსიული სიტყვა თევზი. 552 00:29:00,510 --> 00:29:05,410 და ვარსკვლავი იმას ნიშნავს, რომ მთელი ამ ფაილები ამ დირექტორიაში. 553 00:29:05,410 --> 00:29:08,930 ასე რომ, ეს მომცა ნებართვა უარყო, იმიტომ, რომ ეს არ არის დაშვებული წავიკითხე, რომ 554 00:29:08,930 --> 00:29:10,060 კერძოდ ფაილი. 555 00:29:10,060 --> 00:29:14,040 მაგრამ ეს არ არის ნაპოვნი თევზი ფაილის ტესტი. 556 00:29:14,040 --> 00:29:18,450 >> მე შეიძლება ითქვას, კერძოდ, მე მხოლოდ გსურთ გამოიყურება ფაილი blah, in 557 00:29:18,450 --> 00:29:19,580 შემთხვევაში იგი ვერ პოულობენ არაფრის. 558 00:29:19,580 --> 00:29:20,990 მე მხოლოდ მინდა გამოიყურებოდეს ფაილი, ტესტი. 559 00:29:20,990 --> 00:29:22,240 იგი იპოვის თევზი. 560 00:29:22,240 --> 00:29:25,980 561 00:29:25,980 --> 00:29:29,260 ეს არის საკმაოდ სასარგებლო ბრძანება უნდა იცოდეს ზოგადად. 562 00:29:29,260 --> 00:29:31,640 არსებობს გარკვეული ალტერნატივები grep რომ უნდა იყოს უფრო 563 00:29:31,640 --> 00:29:36,780 პროგრამისტი მეგობრული, მაგრამ მე, როგორც წესი, კიდევ დაეცემა უკან grep. 564 00:29:36,780 --> 00:29:38,030 კითხვები? 565 00:29:38,030 --> 00:29:39,965 566 00:29:39,965 --> 00:29:40,919 OK. 567 00:29:40,919 --> 00:29:42,520 >> არსებობს სხვა ბრძანებები? 568 00:29:42,520 --> 00:29:45,270 Oh. 569 00:29:45,270 --> 00:29:48,370 მხოლოდ ერთი off ერთი, რომ მე ყოველთვის მოძებნეთ იყოს fun არის კალ. 570 00:29:48,370 --> 00:29:55,610 ასე რომ შეამჩნია, როდესაც მე ამ lovely სრული ეკრანის რეჟიმში, მე არ მაქვს, როგორიც დაბრუნება 571 00:29:55,610 --> 00:29:56,720 პანელი ან არაფერი. 572 00:29:56,720 --> 00:29:59,530 ასე რომ, cal მხოლოდ მაძლევს ლამაზი პატარა კალენდარი რომ უფლება 573 00:29:59,530 --> 00:30:02,380 ახლა შეწყვიტა, მე ვივარაუდოთ. 574 00:30:02,380 --> 00:30:04,770 მაგრამ ლამაზი პატარა ბრძანება. 575 00:30:04,770 --> 00:30:06,540 >> JOSEPH: ეს არის [INAUDIBLE]. 576 00:30:06,540 --> 00:30:09,170 სხვა ბრძანებები, რომ თქვენ შეიძლება ჩანს მოიცავს clang და. 577 00:30:09,170 --> 00:30:11,180 ჩვენ წავიდეთ მეტი მათ უფრო დეტალურად მოგვიანებით. 578 00:30:11,180 --> 00:30:13,400 მაგრამ თუ თქვენ უკვე მუშაობენ pset, თქვენ უნდა იყოს 579 00:30:13,400 --> 00:30:15,160 იცნობს იმ. 580 00:30:15,160 --> 00:30:16,640 >> ROB: ყველა უფლება. 581 00:30:16,640 --> 00:30:18,520 კითხვები command line რამ? 582 00:30:18,520 --> 00:30:22,450 583 00:30:22,450 --> 00:30:23,260 ყველა უფლება. 584 00:30:23,260 --> 00:30:27,416 მოდით გადაადგილება ზოგიერთი C დაკავშირებული პერსონალი. 585 00:30:27,416 --> 00:30:28,666 ცვლადები მათემატიკის. 586 00:30:28,666 --> 00:30:39,078 587 00:30:39,078 --> 00:30:40,060 OK. 588 00:30:40,060 --> 00:30:45,230 ასე რომ, ისევე, როგორც ჩვენ გვქონდა მათემატიკის Scratch, ასევე, შეგიძლიათ გამოიყენოთ მათემატიკის C. 589 00:30:45,230 --> 00:30:49,270 >> სანამ არ მივიღებთ, რომ მთლიანად, ასე რომ ცვლადები. 590 00:30:49,270 --> 00:30:53,920 გახსოვდეთ, რომ როდესაც თქვენ გამოაცხადოს ცვლადი, როგორიცაა int x ან float y, თქვენ 591 00:30:53,920 --> 00:30:56,710 უნდა მისცეს მას აკრიფოთ ადრე ცვლადის სახელი. 592 00:30:56,710 --> 00:31:03,020 ასე რომ სახის ჩვენ ვნახეთ ჯერჯერობით int, float, ორმაგი, ხანგრძლივი ხანგრძლივი, რომელიც მე 593 00:31:03,020 --> 00:31:06,150 რეალურად არ ვიცი, თუ ჩვენ ჩანს, რომ ჯერჯერობით. 594 00:31:06,150 --> 00:31:07,700 >> არსებობს რამდენიმე სხვა პირობა. 595 00:31:07,700 --> 00:31:09,990 ჩვენ ვხედავთ, char. 596 00:31:09,990 --> 00:31:13,920 არსებობს მოკლე, რომელიც როგორც ის საპირისპირო ხანგრძლივი ხანგრძლივი, სადაც ეს 597 00:31:13,920 --> 00:31:16,650 ნაკლებია რიცხვი. 598 00:31:16,650 --> 00:31:18,580 ჩვენ ასევე ვნახეთ, სიმებიანი. 599 00:31:18,580 --> 00:31:23,070 რა არის განსაკუთრებული სიმებიანი? 600 00:31:23,070 --> 00:31:25,350 რატომ ვამბობ, რომ ეს არ საკმაოდ მოსწონს int? 601 00:31:25,350 --> 00:31:27,030 >> დინამიკები 4: ეს ნამდვილად არ არსებობს. 602 00:31:27,030 --> 00:31:27,990 >> ROB: ჰო. 603 00:31:27,990 --> 00:31:31,820 ასე რომ ერთადერთი მიზეზი გვაქვს string იმიტომ, რომ, როდესაც თქვენ 604 00:31:31,820 --> 00:31:33,215 hash, მოიცავს cs50.h. 605 00:31:33,215 --> 00:31:36,530 606 00:31:36,530 --> 00:31:42,670 და ვნახავთ მაგალითები მოგვიანებით - oh, რომ არ ერევა, რომ კარგად - 607 00:31:42,670 --> 00:31:46,160 სადაც cs50.h აკეთებს რაღაც გასწვრივ ხაზი ტიპის 608 00:31:46,160 --> 00:31:49,230 def, char ვარსკვლავი, სიმებიანი. 609 00:31:49,230 --> 00:31:53,280 >> და ისე, რომ ის ამბობდა, რომ ჩვენ კი არა იცით, რა char ვარსკვლავი არავის გაუკეთებია. 610 00:31:53,280 --> 00:31:56,770 მაგრამ ეს ამბობდა ჩვენ გვინდა string. 611 00:31:56,770 --> 00:32:00,250 ნებისმიერ ადგილას თქვენ უკვე გამოყენებით string, თქვენ შეეძლო გამოყენებით char ვარსკვლავი, 612 00:32:00,250 --> 00:32:04,670 რომელიც რეალურად არის ტიპის, რომ არსებობს C ენაზე. 613 00:32:04,670 --> 00:32:06,680 მაგრამ ამას კიდევ რომ. 614 00:32:06,680 --> 00:32:07,860 ოჰ, და მიდის უფლება უკან. 615 00:32:07,860 --> 00:32:10,170 სისუფთავე. 616 00:32:10,170 --> 00:32:15,370 >> ასე რომ, იგივე bool სადაც ჭეშმარიტი და ცრუ. 617 00:32:15,370 --> 00:32:22,510 ეს არ არის ინტეგრირებული ტიპის C. იმის ნაცვლად, რომ, უბრალოდ, ნიშნავს ეს აქვს 618 00:32:22,510 --> 00:32:23,740 ღირებულება ნულოვანი? 619 00:32:23,740 --> 00:32:26,200 მაშინ ჩვენ უბრალოდ მიგვაჩნია, ეს უნდა იყოს ცრუ. 620 00:32:26,200 --> 00:32:27,350 ნიშნავს თუ არა ეს აქვს ღირებულება - 621 00:32:27,350 --> 00:32:30,530 ასევე, ნიშნავს ეს რაიმე ღირებულება, რომელიც არ არის ნულოვანი? 622 00:32:30,530 --> 00:32:32,200 მაშინ ჩვენ მიგვაჩნია, რომ ეს უნდა იყოს ნამდვილი. 623 00:32:32,200 --> 00:32:35,940 ასე რომ, ერთი მართალია, ორი მართალია, არაფერს nonzero მართალია. 624 00:32:35,940 --> 00:32:38,710 625 00:32:38,710 --> 00:32:42,790 ასე რომ, ეს არის იმ. 626 00:32:42,790 --> 00:32:47,624 კითხვები გამოცხადების ცვლადები და ცვლადი ტიპები და ყველა რომ? 627 00:32:47,624 --> 00:32:48,100 ჰო. 628 00:32:48,100 --> 00:32:52,384 >> დინამიკები 4: For ხანგრძლივი ხანგრძლივი, წიგნი, ის ამბობს, რომ ეს უნდა იყოს ხანგრძლივი ხანგრძლივი int. 629 00:32:52,384 --> 00:32:54,288 მაგრამ მხოლოდ ხანგრძლივი ხანგრძლივი მუშაობა? 630 00:32:54,288 --> 00:32:58,210 631 00:32:58,210 --> 00:33:01,470 >> ROB: ასე რომ, ამ ტიპის მოდიფიკატორები. 632 00:33:01,470 --> 00:33:04,170 ასე int x. 633 00:33:04,170 --> 00:33:07,710 ასე რომ ჩვენ შეგვიძლია ასევე აცხადებენ, unsigned int x. 634 00:33:07,710 --> 00:33:09,640 შეიძლება ითქვას, მოკლე int x. 635 00:33:09,640 --> 00:33:12,570 ჩვენ შეგვიძლია ვთქვათ, ხანგრძლივი ხანგრძლივი int x. 636 00:33:12,570 --> 00:33:17,250 მაგრამ საკმაოდ ბევრი ნებისმიერი იმ რამ I მხოლოდ განაცხადა, unsigned int, მოკლე int, 637 00:33:17,250 --> 00:33:21,480 ხანგრძლივი ხანგრძლივი int, თქვენ შეგიძლიათ მოშორება int და ეს მხოლოდ ვივარაუდოთ, 638 00:33:21,480 --> 00:33:22,510 რომ თქვენ იმას ნიშნავდა, int. 639 00:33:22,510 --> 00:33:26,045 ასე რომ, unsigned x, რომელიც მხოლოდ იმას ნიშნავს - 640 00:33:26,045 --> 00:33:29,400 თქვენ იცით, როგორ წესი, ერთად int, შეიძლება ითქვას, x უდრის უარყოფითი 3? 641 00:33:29,400 --> 00:33:31,636 With unsigned int, თქვენ არ შეგიძლიათ. 642 00:33:31,636 --> 00:33:34,480 >> JOSEPH: ისევ და ისევ, კამერა, კითხვა იყო, რა განსხვავებაა 643 00:33:34,480 --> 00:33:37,796 შორის ხანგრძლივი ხანგრძლივი int და მხოლოდ ხანგრძლივი ხანგრძლივი? 644 00:33:37,796 --> 00:33:38,410 >> ROB: ჰო. 645 00:33:38,410 --> 00:33:42,850 ასე რომ მე თითქმის არასდროს წერა ხანგრძლივი ხანგრძლივი int. 646 00:33:42,850 --> 00:33:44,100 I დაწერს ხანგრძლივი ხანგრძლივი. 647 00:33:44,100 --> 00:33:47,770 648 00:33:47,770 --> 00:33:50,636 >> JOSEPH: ნებისმიერი კითხვები? 649 00:33:50,636 --> 00:33:51,886 >> ROB: OK. 650 00:33:51,886 --> 00:33:56,180 651 00:33:56,180 --> 00:34:02,390 ასე რომ სულელური პატარა შეხსენება, რომ ასე ვაცხადებთ ცვლადი და ინიციალიზაცია 652 00:34:02,390 --> 00:34:04,450 ცვლადი და აცხადებენ, სხვა ცვლადი და ინიციალიზაცია 653 00:34:04,450 --> 00:34:05,870 ეს ყველაფერი ერთი ნაბიჯია. 654 00:34:05,870 --> 00:34:09,370 ასე რომ დეკლარაცია ცვლადი და ინიციალიზაციისას ცვლადი არ აქვს 655 00:34:09,370 --> 00:34:11,120 , მაგრამ შეიძლება იყოს იგივე ხაზი. 656 00:34:11,120 --> 00:34:15,409 657 00:34:15,409 --> 00:34:20,060 >> ასე რომ ჩვენ გვაქვს სტანდარტული მათემატიკის ოპერატორები რომ თქვენ გამოიყენება - 658 00:34:20,060 --> 00:34:22,199 პლუს, მინუს, გაყოფა, ჯერ. 659 00:34:22,199 --> 00:34:24,389 არსებობს ასევე modulo, რომელიც ჩვენ დავინახავთ. 660 00:34:24,389 --> 00:34:29,060 არ არსებობს, ყოველ შემთხვევაში, C, ჩაშენებული ძალა 661 00:34:29,060 --> 00:34:31,765 exponentiation caret ოპერატორს. 662 00:34:31,765 --> 00:34:33,770 ასევე, არსებობს caret ოპერატორი, მაგრამ ეს არ არის ძალა. 663 00:34:33,770 --> 00:34:34,239 >> JOSEPH მაგრამ ეს არ exponentiation, დიახ. 664 00:34:34,239 --> 00:34:36,210 >> ROB: არ გამოიყენოთ caret უნდა ვივარაუდოთ, რომ ეს იმას ნიშნავს, 665 00:34:36,210 --> 00:34:39,980 ისევე როგორც squared ან რასაც. 666 00:34:39,980 --> 00:34:42,289 ასე რომ ზოგიერთი რამ შენარჩუნება იბადება გაყოფის შესახებ. 667 00:34:42,289 --> 00:34:46,282 668 00:34:46,282 --> 00:34:48,880 მე დგანან. 669 00:34:48,880 --> 00:34:51,315 ასე განაცხადა ინიციალიზაცია პასუხი. 670 00:34:51,315 --> 00:34:54,670 ასე რომ, ჩვენ ვამბობთ, float პასუხი შეადგენს 1 იყოფა 10. 671 00:34:54,670 --> 00:34:57,500 ბეჭდვა პასუხი ორ ათობითი ადგილებში. 672 00:34:57,500 --> 00:35:02,180 >> და ეს არის სახის რამ, რომ მე რომ კაცი printf გაერკვნენ, რომ 673 00:35:02,180 --> 00:35:05,110 რა ჯანდაბა არ%, dot, 2F ნიშნავს? 674 00:35:05,110 --> 00:35:07,930 და რომ მხოლოდ იმას ნიშნავს, ისევე, იგნორირება 0.2. 675 00:35:07,930 --> 00:35:10,420 და%, f არის ის, რაც ჩვენ ვიყენებთ ბეჭდვა ათწილადი. 676 00:35:10,420 --> 00:35:15,370 0.2 ამბობს, print, რომ ათწილადი ორ ათობითი ადგილებში. 677 00:35:15,370 --> 00:35:19,600 ასე რომ, ამ პროგრამას აქვს bug, და თქვენ შეიძლება მინახავს ეს ადრე ზოგიერთ 678 00:35:19,600 --> 00:35:20,870 ადრე CS რა თქმა უნდა. 679 00:35:20,870 --> 00:35:22,170 მაგრამ რა არის ის, რომ bug? 680 00:35:22,170 --> 00:35:23,050 >> დინამიკები 5: Zero. 681 00:35:23,050 --> 00:35:24,130 >> ROB: ჰო. 682 00:35:24,130 --> 00:35:29,630 ასე რომ, როდესაც ჩვენ ვამბობთ, პასუხი უდრის 1 იყოფა 10, ჩვენ გვინდა 683 00:35:29,630 --> 00:35:31,610 პასუხი იყოს 0.1. 684 00:35:31,610 --> 00:35:37,450 მაგრამ 1 იყოფა 10 1 რიცხვი, 10 რიცხვი. 685 00:35:37,450 --> 00:35:41,060 , და ასე რომ, როდესაც ჩვენ გავაკეთებთ რიცხვი იყოფა მთელი რიცხვი, ჩვენ ვაპირებთ დავუბრუნდეთ 686 00:35:41,060 --> 00:35:42,190 მთელი რიცხვი. 687 00:35:42,190 --> 00:35:43,660 ასე რომ 1 იყოფა 10 არის 0.1. 688 00:35:43,660 --> 00:35:46,760 >> მას შემდეგ, რაც მას სჭირდება, რათა მოგვცეს რიცხვი, უბრალოდ აპირებს გადაყარეთ, რომ 689 00:35:46,760 --> 00:35:49,410 ათობითი ადგილი და აცხადებენ, რომ პასუხი არის 0. 690 00:35:49,410 --> 00:35:55,314 და ამრიგად, როდესაც ჩვენ ბეჭდვა უპასუხოს აქ, ის აპირებს ბეჭდვა 0.00. 691 00:35:55,314 --> 00:35:58,430 >> JOSEPH: და როგორც აღნიშნავენ, რეალურად ისვრის შორს, რაც შემდეგ 692 00:35:58,430 --> 00:35:59,390 ათობითი წერტილი. 693 00:35:59,390 --> 00:36:03,180 ასე რომ, თუ ნაცვლად ჰქონდა 6 ​​იყოფა 10, თქვენ ალბათ ფიქრობთ, რომ გადმოგცეთ 694 00:36:03,180 --> 00:36:05,200 0.6 და მაშინ გარშემო up to 1. 695 00:36:05,200 --> 00:36:10,520 მაგრამ რეალურად, თუ რა ხდება, როდესაც იგი აკრიფოთ ამოცანები არის ის, რომ მცირდება, თუ რა არის 696 00:36:10,520 --> 00:36:11,470 მას შემდეგ, რაც ათობითი წერტილი. 697 00:36:11,470 --> 00:36:13,020 ასე რომ 0.6 არ გახდეს 0. 698 00:36:13,020 --> 00:36:13,370 >> ROB: ჰო. 699 00:36:13,370 --> 00:36:15,160 და ჩვენ ვიტყვით, truncate რომ. 700 00:36:15,160 --> 00:36:21,760 ასე რომ, როდესაც თქვენ მიცემული to int, ათობითი არის შემოკლებული. 701 00:36:21,760 --> 00:36:23,980 ასე რომ გადავწყვიტოთ, რომ - არსებობს ფაქტობრივად, ორი. 702 00:36:23,980 --> 00:36:27,890 და მე ვაპირებ, რომ მეორე, იმიტომ, რომ ეს ერთი არის ბევრად უფრო ადვილია, სარემონტო. 703 00:36:27,890 --> 00:36:32,670 >> ასე რომ ერთი სარემონტო არის გამოიყენოს მოძრავი გაყოფა. 704 00:36:32,670 --> 00:36:34,720 და მართლაც, თქვენ მხოლოდ უნდა ერთი მათგანი float. 705 00:36:34,720 --> 00:36:37,400 მაგრამ ეს გარკვეულწილად ნათელი მხოლოდ რათა ორივე მოძრავი. 706 00:36:37,400 --> 00:36:41,170 ასე რომ, 1.0 იყოფა 10.0 არის გამყოფი ორი მოძრავი. 707 00:36:41,170 --> 00:36:43,970 ასე რომ, პასუხი იქნება დასრულდება მდე მიმდინარეობს float, და ა.შ. თქვენ 708 00:36:43,970 --> 00:36:48,050 სწორად ბეჭდვა 0.10 აქ. 709 00:36:48,050 --> 00:36:52,220 >> რომ რაღაც არ მუშაობს ისე კარგად ამის შესახებ არის, ასევე, რა თქმა უნდა, ეს იყო მარტივი 710 00:36:52,220 --> 00:36:56,240 საკმარისი გადაიყვანო 1 float მიერ მიღების იგი 1.0. 711 00:36:56,240 --> 00:37:02,180 მაგრამ რა, თუ ნაცვლად ჩვენ გვქონდა ორი რიცხვებით ისევე როგორც int x უდრის 1 და int y 712 00:37:02,180 --> 00:37:05,660 შეადგენს 10, ხოლო შემდეგ გვინდოდა რომ ჩვენგან x იყოფა y? 713 00:37:05,660 --> 00:37:10,420 ასე რომ, ეს არ არის ადვილი, უბრალოდ გავაკეთოთ x.0 ან რამე. 714 00:37:10,420 --> 00:37:12,790 >> ასე რომ გადავწყვიტოთ, რომ კასტინგის. 715 00:37:12,790 --> 00:37:19,780 ასე რომ ჩამოსხმის არის გზა C გარდაქმნას ერთი ცვლადის ტიპის სხვა. 716 00:37:19,780 --> 00:37:22,320 ასე რომ აქ, 1 არის მთელი რიცხვი. 717 00:37:22,320 --> 00:37:27,050 და აყენებს ამ float წინ ეს, ჩვენ აძლევენ 1 float. 718 00:37:27,050 --> 00:37:30,350 და ეს იქნება კონვერტირება 1 1.0. 719 00:37:30,350 --> 00:37:33,380 და ეს დააკონვერტიროთ 10 10.0. 720 00:37:33,380 --> 00:37:36,790 >> და შემდეგ რამ მოიქცევა მსგავსად წინა ვერსია, ჩვენ უბრალოდ აჩვენა 721 00:37:36,790 --> 00:37:42,190 სადაც, როგორც მოსალოდნელი იყო, მივიღებთ 0.10 და ეს კიდე ბეჭდვა, რომ. 722 00:37:42,190 --> 00:37:44,120 და ჩვენ შეგვიძლია ამის გაკეთება ცვლადები, ძალიან. 723 00:37:44,120 --> 00:37:47,376 ასე რომ, შეიძლება ითქვას, float x იყოფა float y. 724 00:37:47,376 --> 00:37:48,626 >> JOSEPH: ნებისმიერი კითხვები? 725 00:37:48,626 --> 00:37:54,182 726 00:37:54,182 --> 00:38:00,090 >> ROB: ასე რომ, ისევე, როგორც რეგულარული მათემატიკის, ჩვენ ოპერატორის პრეცენდენტის. 727 00:38:00,090 --> 00:38:06,960 ასე რომ, მათემატიკის კლასის, თქვენ უფრო ეძახით ბრძანებით ოპერაციებში. 728 00:38:06,960 --> 00:38:09,890 აქ, ოფიციალური ვადა ოპერატორის პრეცენდენტის. 729 00:38:09,890 --> 00:38:15,230 მაგრამ ოპერატორის პრეცენდენტის, ან ყველაზე ოპერატორები, როგორც თქვენ მოელოდა. 730 00:38:15,230 --> 00:38:22,660 >> ასე რომ, ისევე, როგორც მათემატიკის, 2 ჯერ 10 არის იქნება დაჯგუფებულია უფრო მჭიდროდ, ვიდრე 731 00:38:22,660 --> 00:38:25,410 ამ 10 იყოფა 2 და შემდეგ 2. 732 00:38:25,410 --> 00:38:29,745 ბრძანებით ოპერაციების, ის ყველაფერს გააკეთებს 2 ჯერ 10, 10 იყოფა 2, და შემდეგ 733 00:38:29,745 --> 00:38:32,720 ის ყველაფერს გააკეთებს, 20 პლუს 5 plus 2. 734 00:38:32,720 --> 00:38:37,020 ასე რომ, როგორც მოსალოდნელია, და შეგიძლიათ გამოიყენოთ ფრჩხილებში ჯგუფის გამონათქვამები. 735 00:38:37,020 --> 00:38:41,063 თქვენ არ შეგიძლიათ გამოიყენოთ კვადრატულ ფრჩხილებში ჯგუფი გამონათქვამები. 736 00:38:41,063 --> 00:38:41,544 ჰო? 737 00:38:41,544 --> 00:38:43,468 >> დინამიკები 5: იქნებ რეალურად უბრალოდ დაბრუნდეს ერთი მეორე? 738 00:38:43,468 --> 00:38:47,316 შეგიძლიათ მიცემული int სიმებიანი? 739 00:38:47,316 --> 00:38:53,330 >> ROB: ასე რომ, C, შეგიძლიათ მიცემული არაფერს გსურთ არაფერი გსურთ. 740 00:38:53,330 --> 00:38:55,600 ეს იმას არ ნიშნავს, რომ ეს კარგი რამ უნდა გააკეთოს. 741 00:38:55,600 --> 00:38:59,760 ასე რომ, როდესაც თქვენ მიცემული int to სიმებიანი, ეს ნიშნავს, რომ - 742 00:38:59,760 --> 00:39:03,240 და ჩვენ კიდევ ამ ბევრად უფრო კარგად - 743 00:39:03,240 --> 00:39:03,720 >> JOSEPH: გაცილებით გვიან. 744 00:39:03,720 --> 00:39:06,840 >> ROB: მე არ მინდა ვთქვა, გაცილებით გვიან, ასე რომ მე შევეცადე, რომ შევცვალო ჩემი წინადადება. 745 00:39:06,840 --> 00:39:13,370 ჩვენ შეღწევას ეს ბევრად უფრო საფუძვლიანად მოგვიანებით, სადაც მართლაც, როდესაც თქვენ გაქვთ 746 00:39:13,370 --> 00:39:14,810 string ცვლადი - 747 00:39:14,810 --> 00:39:17,160 ასე რომ სიმებიანი შეიძლება თვითნებურად ხანგრძლივი, არა? 748 00:39:17,160 --> 00:39:21,850 და ჩვენ ვამბობდით, რომ int არის ოთხი ბაიტი და ხანგრძლივი ხანგრძლივი რვა 749 00:39:21,850 --> 00:39:23,620 bytes და float ოთხი bytes. 750 00:39:23,620 --> 00:39:29,520 ასე რომ, ტექსტი, ისევე, როგორც int, მხოლოდ გარკვეული რაოდენობის ბაიტი მას. 751 00:39:29,520 --> 00:39:31,800 და რომ იქნება ოთხი bytes. 752 00:39:31,800 --> 00:39:34,750 >> მაგრამ სიმებიანი შეიძლება იყოს საკმაოდ თვითნებურად ხანგრძლივი, არა? 753 00:39:34,750 --> 00:39:40,190 ასე რომ მიესალმები მსოფლიოში უკვე, თუ ეს 10 სიმბოლო ან რასაც, რომ უკვე 754 00:39:40,190 --> 00:39:42,670 იქნება მეტი 4 bytes შემიძლია ჯდება სიმებიანი. 755 00:39:42,670 --> 00:39:51,140 და ასე როგორ strings ნამდვილად მუშაობს ის არის, რომ ისინი, სადაც მეხსიერება, string 756 00:39:51,140 --> 00:39:52,380 მიმდინარეობს ინახება. 757 00:39:52,380 --> 00:39:57,290 >> და ა.შ. აქ, როდესაც ვამბობ, რომ string x შეადგენს Hello World, შიგნით x არის 758 00:39:57,290 --> 00:40:01,840 უბრალოდ ვამბობ, oh, hello world ინახება ამ კონკრეტულ ადგილზე მეხსიერებაში. 759 00:40:01,840 --> 00:40:07,060 ასე რომ, თუ ჩვენ ვცდილობთ მიცემული რიცხვი string, მაშინ ჩვენ ვცდილობთ ინტერპრეტაცია 760 00:40:07,060 --> 00:40:10,500 შემთხვევითი ნაწილი მეხსიერება როგორც სიმებიანი. 761 00:40:10,500 --> 00:40:14,465 და რომ თითქმის ყოველთვის არღვევს რამ. 762 00:40:14,465 --> 00:40:17,040 >> JOSEPH მაგრამ თუ ეს confuses თქვენ, ჩვენ გააშუქებს იგი 763 00:40:17,040 --> 00:40:17,550 უფრო სიღრმისეული შემდეგ. 764 00:40:17,550 --> 00:40:17,850 >> ROB: ჰო. 765 00:40:17,850 --> 00:40:20,540 ეს არის სადაც თქვენ აპირებთ შეღწევას პოინტერები. 766 00:40:20,540 --> 00:40:25,485 და ეს არის მნიშვნელოვანი ბლოკი ორი კვირის განმავლობაში ამ კურსს. 767 00:40:25,485 --> 00:40:28,275 >> დინამიკები 6: იგი მუშაობს როგორც ობიექტები სხვა ენებზე თუ არა მართლა? 768 00:40:28,275 --> 00:40:34,050 >> ROB: ასე რომ სხვა ენებზე, ობიექტების იქნება წარმოდგენილია გამოყენებით პოინტერები. 769 00:40:34,050 --> 00:40:37,070 770 00:40:37,070 --> 00:40:38,793 ეს არ არის იგივე, თუმცა. 771 00:40:38,793 --> 00:40:42,110 772 00:40:42,110 --> 00:40:42,910 ნებისმიერი აზრები? 773 00:40:42,910 --> 00:40:43,760 >> JOSEPH: არა 774 00:40:43,760 --> 00:40:44,185 არარის აზრები. 775 00:40:44,185 --> 00:40:44,980 >> ROB: OK. 776 00:40:44,980 --> 00:40:46,994 >> JOSEPH შემდეგი. 777 00:40:46,994 --> 00:40:48,255 >> ROB: უბრალოდ რომ. 778 00:40:48,255 --> 00:40:48,670 ყველა უფლება. 779 00:40:48,670 --> 00:40:51,120 ასე modulo. 780 00:40:51,120 --> 00:40:53,900 ისევე, როგორც ჩვენ პლუს, მინუს, გაყოფა და გამრავლება. 781 00:40:53,900 --> 00:40:56,720 ასე modulo ერთი შეგიძლიათ არ მინახავს ადრე. 782 00:40:56,720 --> 00:40:59,540 და ეს უბრალოდ ამბობს, მისცეს me დარჩენილი. 783 00:40:59,540 --> 00:41:02,850 ასე 55% 10. 784 00:41:02,850 --> 00:41:06,840 დარჩენილი აკეთებს 55 გაყოფილი 10 იქნება 5. 785 00:41:06,840 --> 00:41:09,630 ასე 55% 10 5. 786 00:41:09,630 --> 00:41:12,260 და 3% 5 იქნებოდა 3. 787 00:41:12,260 --> 00:41:14,180 8% 8 იქნება 0. 788 00:41:14,180 --> 00:41:15,903 16% 15 იქნება 1. 789 00:41:15,903 --> 00:41:20,670 >> JOSEPH: ერთი რამ აღვნიშნო, ამ, ძალიან, არის, ეს შესაძლოა არ იმუშაოს როგორც მოსალოდნელია 790 00:41:20,670 --> 00:41:22,700 თუ თქვენ იყენებთ უარყოფითი რიცხვი. 791 00:41:22,700 --> 00:41:26,215 ასე რომ, უარყოფითი 5% 4, ზოგიერთი ადამიანი შეიძლება ვიფიქროთ, რომ არის - 792 00:41:26,215 --> 00:41:28,890 793 00:41:28,890 --> 00:41:33,808 რას ვფიქრობ, უარყოფითი 5% 4 იქნება? 794 00:41:33,808 --> 00:41:34,792 >> დინამიკები 5: One. 795 00:41:34,792 --> 00:41:37,920 >> JOSEPH: ასე ამბობენ ერთი, ზოგიერთი ამბობს უარყოფითი ერთი. 796 00:41:37,920 --> 00:41:38,450 მაგრამ რა - 797 00:41:38,450 --> 00:41:40,820 >> ROB: მე კი არ განაცხადა ერთ იმ. 798 00:41:40,820 --> 00:41:42,370 >> JOSEPH ორი, უკაცრავად. 799 00:41:42,370 --> 00:41:43,240 ზოგიერთი ადამიანი ამბობს - 800 00:41:43,240 --> 00:41:43,450 >> ROB: სამი. 801 00:41:43,450 --> 00:41:43,800 >> JOSEPH სამი? 802 00:41:43,800 --> 00:41:44,890 >> ROB: Negative - 803 00:41:44,890 --> 00:41:45,950 რა იყო - ნეგატიური ხუთ - 804 00:41:45,950 --> 00:41:47,100 >> JOSEPH სამი, სამი, სამი. 805 00:41:47,100 --> 00:41:48,450 უკაცრავად. 806 00:41:48,450 --> 00:41:51,910 იმის გამო, რომ Modulo, ზოგადად, როდესაც თქვენ ჩანს, რომ სხვაგან, ეს როგორც წესი ნიშნავს 807 00:41:51,910 --> 00:41:54,000 დაბრუნების დადებითი რიცხვი, არა? 808 00:41:54,000 --> 00:42:01,160 >> ROB: ასე რომ, როდესაც ჩვენ ვამბობთ, მათემატიკის,% 10 ის, ისინი როგორც წესი, მინდა გადმოგცეთ - 809 00:42:01,160 --> 00:42:05,980 თუ ჩვენ mod 10, მაშინ ჩვენ ველით, რომ მიიღეთ რიცხვი 0 და 9. 810 00:42:05,980 --> 00:42:09,860 აქ, რომ არ არის საქმე, რომ თქვენ მიიღებს უარყოფითი რიცხვები დაბრუნდა. 811 00:42:09,860 --> 00:42:15,898 >> JOSEPH ასე რომ უარყოფითი 5% 4 იქნება უარყოფითი 1. 812 00:42:15,898 --> 00:42:19,325 >> ROB: მაგრამ ეს იშვიათი, რომ თქვენ mod-ing უარყოფითი რიცხვები უნდა დაიწყოს. 813 00:42:19,325 --> 00:42:25,490 814 00:42:25,490 --> 00:42:25,970 გამოტოვოთ ეს. 815 00:42:25,970 --> 00:42:27,314 >> JOSEPH: ჰო. 816 00:42:27,314 --> 00:42:29,420 >> ROB: Meh. 817 00:42:29,420 --> 00:42:29,990 OK. 818 00:42:29,990 --> 00:42:36,400 ასე რომ, ერთი რამ აღვნიშნო შესახებ მოძრავი არის ის საშიში საქციელი, 819 00:42:36,400 --> 00:42:39,850 მაგრამ მოძრავი არ არის ზუსტი წარმომადგენლობა. 820 00:42:39,850 --> 00:42:46,190 ასე ბრუნდება bytes ერთხელ, მახსოვს, რომ int ყოველთვის ოთხი ბაიტი და 821 00:42:46,190 --> 00:42:47,830 float ყოველთვის ოთხი bytes. 822 00:42:47,830 --> 00:42:51,340 ასე რომ, Lucas მაგალითი არის საკმაოდ კარგი. 823 00:42:51,340 --> 00:42:55,730 >> ასე რომ, ვფიქრობ 1 იყოფა 3. 824 00:42:55,730 --> 00:42:57,800 ასე 0,3333333. 825 00:42:57,800 --> 00:43:03,540 იმ შემთხვევაში, თუ მე მხოლოდ 32 ბიტი, როგორ შეიძლება მე შესანახად 0,33333 ზუსტად? 826 00:43:03,540 --> 00:43:07,250 და იქნებ, სხვადსხვა მიზეზის გამო, თქვენ ამბობთ, ყველა უფლება, ასევე, მოდით უბრალოდ, ვამბობთ 827 00:43:07,250 --> 00:43:13,210 რომ ამ კონკრეტულ 1011001, მოდით უბრალოდ, ვამბობთ, რომ უნდა იყოს 0,333333. 828 00:43:13,210 --> 00:43:16,960 ისე, თქვენ მხოლოდ აქვს სასრული რაოდენობის იმ ბიტი, ასე რომ შეუძლებელია 829 00:43:16,960 --> 00:43:22,550 წარმოადგენს თითოეული მცურავი წერტილი ღირებულება მოცემულია მხოლოდ 32 ბიტი. 830 00:43:22,550 --> 00:43:25,580 >> ასევე, შეუძლებელია წარმოადგენს მცურავი წერტილი ღირებულება მოცემულია უსასრულო - 831 00:43:25,580 --> 00:43:28,480 ასევე, მოცემული ნებისმიერი სასრული რაოდენობის ბიტი. 832 00:43:28,480 --> 00:43:38,265 ასე რომ, საკითხი აქ არის, ასევე, როდესაც ჩვენ გამოყენებული ბეჭდვა ორ ათობითი ადგილებში, 833 00:43:38,265 --> 00:43:42,000 ჩვენ არ სწორად მიიღოს პასუხი 0.10. 834 00:43:42,000 --> 00:43:47,510 მაგრამ ქვეშ Hood, ეს ნამდვილად მიმდინარეობს ინახება ახლოს როგორც შესაძლებელია 835 00:43:47,510 --> 00:43:51,790 0.10 რადგან იმ ბიტი შეგიძლიათ წარმოადგენენ. 836 00:43:51,790 --> 00:43:53,200 ეს არის მომდევნო slide? 837 00:43:53,200 --> 00:43:53,830 თუ არა? 838 00:43:53,830 --> 00:43:54,660 >> JOSEPH: ჰო, ის, რომ. 839 00:43:54,660 --> 00:43:55,750 >> ROB: Blegh, blegh. 840 00:43:55,750 --> 00:43:57,760 >> JOSEPH: Yeah, შეგიძლიათ უბრალოდ გაიყვანოს შენიშვნები up bit. 841 00:43:57,760 --> 00:43:59,700 >> ROB: მე უბრალოდ აპირებს მასშტაბირება წლის ბოლო, რომ. 842 00:43:59,700 --> 00:44:00,950 Oh my gosh, რომ [INAUDIBLE]. 843 00:44:00,950 --> 00:44:06,089 844 00:44:06,089 --> 00:44:08,300 ასე რომ, ნომერი. 845 00:44:08,300 --> 00:44:12,300 რომ არის რა დაიბეჭდება თუ ჩვენ აწარმოებს, რომ პროგრამა. 846 00:44:12,300 --> 00:44:20,340 და შენიშნავს, რომ ნამდვილად არ არის დიდი გარიგება თუ ჩვენ მხოლოდ ზრუნვა, როგორებიცაა 847 00:44:20,340 --> 00:44:21,920 ორ სამ ათობითი ადგილებში. 848 00:44:21,920 --> 00:44:26,700 როგორც ჩვენ მხოლოდ თავდაპირველად ბეჭდვითი 0.10, და ამიტომაც ჩვენ ვნახეთ, არაფერი ცუდი. 849 00:44:26,700 --> 00:44:31,380 მაგრამ ერთხელ ჩვენ ვიწყებთ მისაღებად შევიდა ზუსტი, ზუსტი რიცხვი, რომ 850 00:44:31,380 --> 00:44:35,660 წარმოადგენს, ჩვენ ვხედავთ, რომ მას არ შეუძლია ზუსტად წარმოადგენს 0.1. 851 00:44:35,660 --> 00:44:40,900 >> და ნაწილი პრობლემა აქ ის არის, როგორიც, ყველა უფლება, რომ ჯარიმა, მაგრამ, ასევე, 852 00:44:40,900 --> 00:44:46,120 პირველი, რა, თუ ჩვენ შევეცადეთ, პასუხი უდრის უდრის 0.1? 853 00:44:46,120 --> 00:44:49,200 ის არის, რომ დაბრუნებას აპირებს ჭეშმარიტი ან მცდარი? 854 00:44:49,200 --> 00:44:51,850 ასე რომ, ეს ძნელი სათქმელია. 855 00:44:51,850 --> 00:44:53,330 მე ვფიქრობ, რომ რეალურად შეიძლება TRUE. 856 00:44:53,330 --> 00:44:55,265 იქნება ეს პირველი - 857 00:44:55,265 --> 00:44:56,180 მე არ ვიცი. 858 00:44:56,180 --> 00:45:00,090 პასუხი ერთხელ თქვენ დაიწყოს საქმე ერთად მცურავი პუნქტიანი ღირებულებებს, თქვენ საკმაოდ 859 00:45:00,090 --> 00:45:05,150 ბევრი არ უნდა იყოს გამოყენებით თანასწორობა რადგან ამ ორაზროვნება. 860 00:45:05,150 --> 00:45:09,470 >> და თქვენ იცით, რომ ეს მეასედ ათობითი ადგილი რომ 861 00:45:09,470 --> 00:45:13,670 მცურავი პუნქტიანი ვერ შეძლო სწორად გაუმკლავდეს. 862 00:45:13,670 --> 00:45:18,180 და ა.შ. თანასწორობა უბრალოდ ვერ კი მიუხედავად იმისა, რომ ნომერი, - თუ ყოფილა 863 00:45:18,180 --> 00:45:24,450 გამოყენებით ზუსტი ციფრები, ნომრები უნდა უკვე ზუსტად იგივე. 864 00:45:24,450 --> 00:45:27,790 ის განმავლობაში, ისევე როგორც 50 გათვლებით გამოყენებით მცურავი 865 00:45:27,790 --> 00:45:30,270 წერტილი ღირებულებები, შეცდომა შეძლოთ up და და და 866 00:45:30,270 --> 00:45:31,125 რამ უბრალოდ არასწორია. 867 00:45:31,125 --> 00:45:33,870 >> JOSEPH: და იქ არ ყოფილა ნამდვილად ცნობილი მაგალითები გვაქვს. 868 00:45:33,870 --> 00:45:37,190 Like NASA ინჟინრებმა მიღებული ამ არასწორი, რამაც რაკეტები აფეთქდეს 869 00:45:37,190 --> 00:45:38,665 საჰაერო შემდეგ მათ უკვე დაიწყო. 870 00:45:38,665 --> 00:45:41,490 და უამრავი საკითხებზე, როგორიცაა, რომ. 871 00:45:41,490 --> 00:45:41,956 ასე რომ, yeah. 872 00:45:41,956 --> 00:45:45,218 >> დინამიკები 6: როცა ამბობენ, 0.3 f, იგი truncate დანარჩენი? 873 00:45:45,218 --> 00:45:46,468 ან იგი გარშემო up ან down? 874 00:45:46,468 --> 00:45:48,800 875 00:45:48,800 --> 00:45:50,200 >> ROB: Will printf რაუნდი ეს? 876 00:45:50,200 --> 00:45:52,180 >> JOSEPH ვფიქრობ, printf truncates. 877 00:45:52,180 --> 00:45:52,640 >> ROB: OK. 878 00:45:52,640 --> 00:45:59,890 ასე რომ ჩვენ შეგვიძლია ასეთივე წავიდეს მოპირდაპირე მიმართულებით ეს, სადაც, ამ შემთხვევაში, 879 00:45:59,890 --> 00:46:03,320 უახლოესი ის შეიძლება წარმოადგენდეს 0.1 იყო ამ ნომერზე. 880 00:46:03,320 --> 00:46:06,820 უახლოესი ის შესაძლოა წარმოადგენს 0.2 არის საპირისპირო 881 00:46:06,820 --> 00:46:11,420 მიმართულებით, 0,199999996356 ან რამე. 882 00:46:11,420 --> 00:46:17,480 ასე რომ, თუ ჩვენ წავედით იმ მიმართულებით რამ, მაშინ printf 0.3 f დაბრუნდნენ 883 00:46:17,480 --> 00:46:20,866 1.99 ნაცვლად 2.00. 884 00:46:20,866 --> 00:46:22,960 >> JOSEPH: და მე არ ვარ მთლად დარწმუნებული ვარ, რომ. 885 00:46:22,960 --> 00:46:25,430 დაგვჭირდება წერენ პატარა, პატარა პროგრამა მხოლოდ შეამოწმოს, რომ. 886 00:46:25,430 --> 00:46:29,370 >> ROB: მიუხედავად იმისა, რაც ჩვენ დარწმუნებული ვართ, ის არის, რომ თუ ცდილობდა მიცემული, რომ 887 00:46:29,370 --> 00:46:33,660 int, და აძლევენ to int აპირებს იწვევს ის truncate ათობითი, თუ 888 00:46:33,660 --> 00:46:38,140 თქვენ ცდილობენ მიცემული 1.9999999 to int, თქვენ მიიღებთ 1. 889 00:46:38,140 --> 00:46:41,440 და ასე რომ თქვენ უნდა ზოგადად გამოიყენოთ მრგვალი ფუნქცია მათემატიკის ბიბლიოთეკაში. 890 00:46:41,440 --> 00:46:44,190 891 00:46:44,190 --> 00:46:45,440 კითხვები? 892 00:46:45,440 --> 00:46:47,660 893 00:46:47,660 --> 00:46:48,982 OK. 894 00:46:48,982 --> 00:46:54,000 >> JOSEPH: So მოძრავი პირობები და ლოგიკური გამონათქვამები. 895 00:46:54,000 --> 00:46:58,120 ასე რომ თქვენ არ მინახავს ეს ადრე. 896 00:46:58,120 --> 00:47:07,420 და ფაქტობრივად, ნება მომეცით დარწმუნდით ჩემი კომპიუტერის ფორმატი აქ. 897 00:47:07,420 --> 00:47:08,670 ფართი. 898 00:47:08,670 --> 00:47:10,630 899 00:47:10,630 --> 00:47:13,870 უკაცრავად, ჩვენ ვაპირებთ, რომ უნდა გაუმკლავდეთ ცოტა ათვლის საათზე კიდეები. 900 00:47:13,870 --> 00:47:15,830 >> მაგრამ ჰო, თქვენ ბიჭები მინახავს ადრე Scratch. 901 00:47:15,830 --> 00:47:19,930 ასე რომ, ეს სწორედ აქ არის გამოხატულება რომელიც გამოიყენება 902 00:47:19,930 --> 00:47:21,250 პირობითი განცხადებაში. 903 00:47:21,250 --> 00:47:23,930 ასე რომ, პასუხი გასცეს მეტი ნულოვანი ნების გითხრათ, ჭეშმარიტი ან მცდარი. 904 00:47:23,930 --> 00:47:26,530 და ეს ნამდვილად მნიშვნელოვანია, რადგან ისინი საშუალებას მოგვცემს გააცნობს 905 00:47:26,530 --> 00:47:28,670 ლოგიკა ჩვენი კოდი. 906 00:47:28,670 --> 00:47:32,820 >> ასე მაგალითად, ეს არის პროგრამა დაწერილი Scratch რომ სთხოვს შესახებ 907 00:47:32,820 --> 00:47:36,980 განთავსების რიცხვი და ეუბნება, თუ არა მთელი რიცხვი, რომ მისცა თქვენ იყო 908 00:47:36,980 --> 00:47:38,690 დადებითი ან უარყოფითი რიცხვი. 909 00:47:38,690 --> 00:47:42,980 და კონვერტაციის მეტი აქ არის თქვენ პირველი ამობეჭდოთ განცხადება, 910 00:47:42,980 --> 00:47:43,870 მომეცი რიცხვი. 911 00:47:43,870 --> 00:47:45,980 და მაშინ ვთხოვთ რიცხვი. 912 00:47:45,980 --> 00:47:49,870 >> და მაშინ გამოვიყენოთ პირობითი ლოგიკა მეტი აქ თუ არა, რომ ნომერი 913 00:47:49,870 --> 00:47:52,030 რეალურად მეტი ნულოვანი თუ არა. 914 00:47:52,030 --> 00:47:58,960 ასე რომ აქ გვაქვს ლოგიკური გამოხატვის შიგნით პირობითი იმ შემთხვევაში, თუ განცხადებაში. 915 00:47:58,960 --> 00:48:00,660 არის თუ არა რაიმე კითხვა? 916 00:48:00,660 --> 00:48:03,030 არსებობს რაიმე შეკითხვები, რომ? 917 00:48:03,030 --> 00:48:03,950 OK. 918 00:48:03,950 --> 00:48:06,140 >> ასე რომ იქ უფრო მეტია ვიდრე უბრალოდ მეტი, რა თქმა უნდა. 919 00:48:06,140 --> 00:48:10,385 შეგიძლიათ მშენებლობა ლოგიკური გამონათქვამები გამოყენებით ყველაზე სახის რამ თქვენ 920 00:48:10,385 --> 00:48:11,150 ვფიქრობ, წელს მათემატიკის. 921 00:48:11,150 --> 00:48:12,370 ასე აღემატება. 922 00:48:12,370 --> 00:48:13,740 ეს უნდა იყოს ნაკლები. 923 00:48:13,740 --> 00:48:14,990 უკაცრავად. 924 00:48:14,990 --> 00:48:18,520 925 00:48:18,520 --> 00:48:19,760 და ინტერვალი. 926 00:48:19,760 --> 00:48:22,971 >> ROB: ღმერთმა ნუ ქნას, დატოვოს იგი. 927 00:48:22,971 --> 00:48:23,620 >> JOSEPH ყველა უფლება. 928 00:48:23,620 --> 00:48:25,950 ასე რომ, მეტი, ნაკლები, უფრო მეტი ვიდრე, ან ტოლია ნაკლები 929 00:48:25,950 --> 00:48:27,070 ვიდრე, ან ტოლია. 930 00:48:27,070 --> 00:48:31,980 ჩვენ ვიყენებთ ორმაგი შეადგენს შემოწმება თანასწორობა, რადგან ერთი უდრის საშუალებით 931 00:48:31,980 --> 00:48:32,810 დავალება, არა? 932 00:48:32,810 --> 00:48:33,140 დიახ. 933 00:48:33,140 --> 00:48:37,130 და მაშინ ჩვენ შეგვიძლია ასევე არ უდრის მიერ გამოყენებით ძახილის ნიშნის, შეადგენს. 934 00:48:37,130 --> 00:48:41,530 >> და ეს ძახილის ნიშნის სიმბოლო სისტემაში ასევე უნდა გაგრძელდეს ასე, რომ თუ გსურთ 935 00:48:41,530 --> 00:48:44,050 ინვერსიის ნებისმიერი სახის ლოგიკური გამოხატვის, თქვენ შეგიძლიათ ამის გაკეთება. 936 00:48:44,050 --> 00:48:48,530 ასე რომ, ეს შეაფასებს ჭეშმარიტი იმ შემთხვევაში, თუ პასუხი არის ნაკლები 937 00:48:48,530 --> 00:48:51,240 ვიდრე ან ნულის ტოლია. 938 00:48:51,240 --> 00:48:53,950 ნებისმიერი კითხვები რომ? 939 00:48:53,950 --> 00:48:55,180 OK. 940 00:48:55,180 --> 00:48:58,840 >> ასე, რომ თქვენ, აგრეთვე, შეგიძლიათ დააკავშიროთ ამ გამოსახულებების გამოყენებით ლოგიკური და და 941 00:48:58,840 --> 00:48:59,790 ლოგიკური ან. 942 00:48:59,790 --> 00:49:03,530 ასე რომ, ეს არის მხოლოდ და სიმბოლო, რომელიც უნდა იყოს Shift, 7. 943 00:49:03,530 --> 00:49:07,720 და ეს არის მილის სიმბოლო, რომელიც არა ქვედა L. ეს ერთი 944 00:49:07,720 --> 00:49:09,440 ეს უფლება ზემოთ თქვენი შეიყვანეთ გასაღები. 945 00:49:09,440 --> 00:49:12,870 ასე, რომ თქვენ გამოიყენოთ ორ სიმბოლოს ლოგიკური და ლოგიკური Or. 946 00:49:12,870 --> 00:49:18,180 >> ასე რომ, ეს იქნება მხოლოდ TRUE თუ პასუხი ერთი, ორი, სამი, ან ოთხი. 947 00:49:18,180 --> 00:49:23,030 და ეს მხოლოდ TRUE თუ პასუხი სცილდება, რომ ორივე მხარეს. 948 00:49:23,030 --> 00:49:26,190 ასე რომ, ეს არ არის ერთი, ორი, სამი, ან ოთხი. 949 00:49:26,190 --> 00:49:28,385 და ისე გამოიყენებს რომ გამოხატვის - 950 00:49:28,385 --> 00:49:29,990 >> ROB: ან ნულოვანი ან ხუთ. 951 00:49:29,990 --> 00:49:32,200 >> JOSEPH: Zero ან ხუთ. 952 00:49:32,200 --> 00:49:32,380 უკაცრავად. 953 00:49:32,380 --> 00:49:33,320 დიახ, დიახ, დიახ. 954 00:49:33,320 --> 00:49:34,180 OK. 955 00:49:34,180 --> 00:49:38,980 და აი აქ, ახლა, იმავე გზით თქვენ გამოიყენებს, რომ გამოხატვის, პატარა 956 00:49:38,980 --> 00:49:42,000 გამოხატვის მხარეს თუ პირობითი განაცხადი, თქვენ ასევე შეგიძლიათ ეს 957 00:49:42,000 --> 00:49:47,800 ანალოგიურად მხოლოდ აყენებს მას შიგნით ფრჩხილებში, რომ იმ შემთხვევაში, თუ განცხადებაში. 958 00:49:47,800 --> 00:49:54,020 ასე რომ, ეს printf მხოლოდ ცეცხლი, თუ პასუხი ერთი, ორი, სამი, ან ოთხი. 959 00:49:54,020 --> 00:49:56,002 ნებისმიერი კითხვები აერთიანებს გამონათქვამები? 960 00:49:56,002 --> 00:50:00,450 961 00:50:00,450 --> 00:50:04,240 >> ასე რომ, არსებობს კიდევ ერთი პირობითი მშენებლობა მოვუწოდებთ თუ / სხვა. 962 00:50:04,240 --> 00:50:08,120 ასე რომ, ძირითადად, ეს ახლა იმას ნიშნავს, OK, თუ რაღაც მინდოდა ამის შემოწმება არ იყო 963 00:50:08,120 --> 00:50:11,600 მართალია, მაშინ წავიდეს სხვაგან და ასრულებს, რომ სხვა action. 964 00:50:11,600 --> 00:50:15,570 ასე რომ, ამ შემთხვევაში, მე ვკითხე მომხმარებელს რიცხვი. 965 00:50:15,570 --> 00:50:17,790 არის მთელი რიცხვი მეტი ნულოვანი? 966 00:50:17,790 --> 00:50:18,310 დიახ? 967 00:50:18,310 --> 00:50:20,100 კარგად, მაშინ აიყვანეს დადებითი რიცხვი. 968 00:50:20,100 --> 00:50:22,320 თუ არა, მაშინ მას უნდა ჰქონდეს იყო უარყოფითი და ნულოვანი. 969 00:50:22,320 --> 00:50:27,530 ასე, რომ თქვენ აიყვანეს უარყოფითი რიცხვი ან ნულოვანი ამ შემთხვევაში. 970 00:50:27,530 --> 00:50:29,235 დიახ. 971 00:50:29,235 --> 00:50:30,485 ან ნულოვანი. 972 00:50:30,485 --> 00:50:36,320 973 00:50:36,320 --> 00:50:39,300 >> და მაშინ ჩვენ ასევე გვაქვს თუ / სხვაგან, იმ შემთხვევაში, თუ და სხვა. 974 00:50:39,300 --> 00:50:45,640 ასე რომ, ეს საშუალებას გვაძლევს შეასრულოს თანმიმდევრობა ყველაფერი მხოლოდ იმ შემთხვევაში თუ პირველი, ვინც ვერ. 975 00:50:45,640 --> 00:50:49,540 ასე რომ, ამ შემთხვევაში, ახლა ჩვენ მიღების ბოლო ერთი თქვენ შეარჩიო ნულოვანი. 976 00:50:49,540 --> 00:50:53,080 ასე რომ, თუ არც აიყვანეს დადებითი და არც უარყოფითი რიცხვი, მაშინ ისინი უნდა 977 00:50:53,080 --> 00:50:53,640 არ აიყვანეს ნულოვანი. 978 00:50:53,640 --> 00:50:56,720 ასე რომ, ეს მხოლოდ მიდის ქვემოთ ჯაჭვის მოსწონს ეს. 979 00:50:56,720 --> 00:50:59,960 >> ასე მაგალითად, თუ როგორ იმ შემთხვევაში, თუ განსხვავდება - 980 00:50:59,960 --> 00:51:02,590 იმ შემთხვევაში, თუ / Else განსხვავდება უბრალოდ თანმიმდევრობა IFS. 981 00:51:02,590 --> 00:51:07,680 და ეს არის საერთო საკითხი, რომ ხალხი ითხოვს, რომელიც, ასევე, თუ თქვენ, როგორც 982 00:51:07,680 --> 00:51:11,265 95 CS50, რა იქნება ამ პროგრამა გითხრათ? 983 00:51:11,265 --> 00:51:12,600 >> დინამიკები 5: თქვენ მიიღო A. 984 00:51:12,600 --> 00:51:13,490 >> JOSEPH: დიახ. 985 00:51:13,490 --> 00:51:14,960 შენ ყოველი ერთი იმ უფლება. 986 00:51:14,960 --> 00:51:17,130 შენ, შენ B, თქვენ მივიღე C და D, არა? 987 00:51:17,130 --> 00:51:19,770 ასე რომ, ყველა ამ მისაღებად შეაფასა მიზნით. 988 00:51:19,770 --> 00:51:23,570 ასე რომ, ხოლო 95 მეტია 90 ის ასევე აღემატება 80, ასევე, 989 00:51:23,570 --> 00:51:25,790 უფრო მეტი, ვიდრე 70, და ეს ასევე მეტია 60. 990 00:51:25,790 --> 00:51:27,620 ასე რომ თქვენ გაქვთ ყველა იმ კლასის. 991 00:51:27,620 --> 00:51:31,630 და მე ვივარაუდოთ, თქვენ ამას მხოლოდ მინდა A. 992 00:51:31,630 --> 00:51:34,060 >> გზა დაფიქსირება, რომ არის შეცვლის იმ Else / თუ 's. 993 00:51:34,060 --> 00:51:37,540 ასე რომ, ამ სცენარით, ის ხედავს, რომ 95 არის უფრო მეტი, ვიდრე 90, და მაშინ იგი აკეთებს 994 00:51:37,540 --> 00:51:38,885 არ შეაფასოთ დანარჩენი განცხადებების. 995 00:51:38,885 --> 00:51:41,900 996 00:51:41,900 --> 00:51:43,150 რაიმე შეკითხვები, რომ? 997 00:51:43,150 --> 00:51:48,580 998 00:51:48,580 --> 00:51:52,470 >> ასე რომ, არსებობს კიდევ ერთი პირობითი სახის სტრუქტურა, რომელიც ჩვენ აქ, რომელიც ჩვენ 999 00:51:52,470 --> 00:51:53,390 მოვუწოდებთ შეცვლა განცხადებაში. 1000 00:51:53,390 --> 00:51:57,390 ასე რომ, ეს საშუალებას გაძლევთ, ძირითადად შემოწმება რა ღირებულება რიგი თქვენ დააყენა 1001 00:51:57,390 --> 00:51:59,000 შევიდა switch განცხადება. 1002 00:51:59,000 --> 00:52:03,200 ასე რომ, ამ სცენარით, ჩვენ გადართვის ი n, და ჩვენ ვამბობთ, OH, თუ N არის 1003 00:52:03,200 --> 00:52:04,710 ერთი, მაშინ ბეჭდვა ეს განცხადება. 1004 00:52:04,710 --> 00:52:07,910 და შემდეგ შესვენება, რაც იმას ნიშნავს exit გარეთ შეცვლა განცხადებაში. 1005 00:52:07,910 --> 00:52:12,670 >> თუ ეს არ იყო, მაშინ, კარგად, უბრალოდ საბოლოოდ, შეამოწმოს ყველა იმ შემთხვევებში. 1006 00:52:12,670 --> 00:52:16,280 და ასე ამოწმებს, თუ ის ერთი ან ორი ან სამი, და იგი ბეჭდავს შესაბამისად. 1007 00:52:16,280 --> 00:52:19,780 და რა ეს ნაგულისხმევი სიტყვით ქვემოთ აქ საშუალებით, თუ ისინი არ მიუთითოთ ნებისმიერი 1008 00:52:19,780 --> 00:52:21,690 იმ, მაშინ ვიტყვი, არასწორი. 1009 00:52:21,690 --> 00:52:25,910 ასე ვთქვათ ვთხოვ N და მომხმარებლის მაძლევს ოთხ. 1010 00:52:25,910 --> 00:52:29,470 ისე, ეს მატჩები არც იმ შემთხვევაში, ასე რომ ამობეჭდოთ რა 1011 00:52:29,470 --> 00:52:30,540 სტანდარტულ სექციაში. 1012 00:52:30,540 --> 00:52:31,180 დიახ, კითხვის ნიშნის ქვეშ? 1013 00:52:31,180 --> 00:52:32,614 >> დინამიკები 5: შეგიძლიათ გამოიყენოთ ლოგიკური გამოხატვის ნაცვლად 1014 00:52:32,614 --> 00:52:33,570 ერთი, ორი, ან სამი? 1015 00:52:33,570 --> 00:52:36,940 >> JOSEPH ასე რომ კითხვა შეგიძლიათ გამოიყენოთ ლოგიკური გამონათქვამები ერთის ნაცვლად, 1016 00:52:36,940 --> 00:52:37,940 ორი და სამი? 1017 00:52:37,940 --> 00:52:40,520 და C, მე მჯერა, თქვენ ვერ გავაკეთოთ, რომ. 1018 00:52:40,520 --> 00:52:44,320 არამედ სხვა ენებზე, რაც ალბათ ექმნებათ დასასრულს 1019 00:52:44,320 --> 00:52:46,460 სემესტრის როგორიცაა JavaScript, თქვენ შეგიძლიათ. 1020 00:52:46,460 --> 00:52:50,050 ასევე, თქვენ უნდა გამოთვლაც პირველი რომ ღირებულება და შემდეგ გამოიყენოთ იგი 1021 00:52:50,050 --> 00:52:50,650 გადახვიდეთ განცხადებაში. 1022 00:52:50,650 --> 00:52:50,930 ჰო? 1023 00:52:50,930 --> 00:52:54,760 >> ROB: So ნაწილი სასარგებლოდ შეცვლა განცხადებებია ვფიქრობ, თუ ეს 1024 00:52:54,760 --> 00:52:58,680 როგორც იმ შემთხვევაში, თუ / სხვა დანარჩენი, ასე მოსწონს თუ n შეადგენს შეადგენს ერთი ან რასაც. 1025 00:52:58,680 --> 00:53:00,300 Else / თუ n უდრის უდრის ორი, რასაც. 1026 00:53:00,300 --> 00:53:01,960 Else / თუ n უდრის უდრის სამი. 1027 00:53:01,960 --> 00:53:05,930 ასე რომ გზა პროგრამაში მიიღებს არის იქნება თანამიმდევრულად დაცემას რომ სიაში 1028 00:53:05,930 --> 00:53:07,500 და შეამოწმოს, არის N ერთი? 1029 00:53:07,500 --> 00:53:08,040 Nope. 1030 00:53:08,040 --> 00:53:09,070 არის n ორი? 1031 00:53:09,070 --> 00:53:09,490 Nope. 1032 00:53:09,490 --> 00:53:10,940 არის n სამი? 1033 00:53:10,940 --> 00:53:11,710 ჰო. 1034 00:53:11,710 --> 00:53:12,610 ამის გაკეთება. 1035 00:53:12,610 --> 00:53:15,270 >> ხოლო ერთად შეცვლა განცხადებებს, რეალურად შეუძლია შეადგინოს, რომ იყოს 1036 00:53:15,270 --> 00:53:16,360 მართლაც სწრაფი. 1037 00:53:16,360 --> 00:53:19,550 და როგორც კი იგი აცხადებს, შეცვლა, ეს ამბობს, ყველა უფლება, n არის ორი, მე ვარ 1038 00:53:19,550 --> 00:53:23,060 დაუყოვნებლივ აპირებს ხტომა, სადაც მე უნდა დაიწყოს შესრულებაში. 1039 00:53:23,060 --> 00:53:26,080 მე არ ვაპირებ პირველი შემოწმება, არის n ერთი, N ორი? 1040 00:53:26,080 --> 00:53:28,860 მას შეუძლია დაუყოვნებლივ დაიწყოს აკეთებს რასაც ის უნდა გავაკეთოთ. 1041 00:53:28,860 --> 00:53:33,830 >> და იმის გამო, რომ მას არ შეუძლია მიიღოს ლოგიკური პირობები. 1042 00:53:33,830 --> 00:53:36,480 ანდა ეს უნდა გააკეთოს მორიგი, ისევე როგორც, ყველა უფლება, არის n 1043 00:53:36,480 --> 00:53:37,820 მეტი ნულოვანი? 1044 00:53:37,820 --> 00:53:41,140 დანარჩენი n მეტი 10 ან რასაც. 1045 00:53:41,140 --> 00:53:44,780 >> JOSEPH: ამ შემთხვევაში, თუ გამოიყენება იმ შემთხვევაში, თუ / სხვაგან, იმ შემთხვევაში, თუ ის, მაშინ switch იქნება 1046 00:53:44,780 --> 00:53:47,792 აწარმოებს დაახლოებით სამჯერ სწრაფად, ვიდრე იმ შემთხვევაში, თუ / სხვაგან, იმ შემთხვევაში, თუ. 1047 00:53:47,792 --> 00:53:53,060 1048 00:53:53,060 --> 00:53:56,040 ჩვენ შეგვიძლია ორგანიზება შეცვლა ასეთ ისე, რომ ჩვენ არ დაარღვიოს 1049 00:53:56,040 --> 00:53:57,520 შემდეგ თითოეულ შემთხვევაში. 1050 00:53:57,520 --> 00:54:00,960 ასე რომ, ამ შემთხვევაში, მე დანაწევრება ციფრები, რომ ვირჩევთ ერთ და 1051 00:54:00,960 --> 00:54:04,250 ორი მყოფი მაღალი არ ნომრები და სამი მყოფი დიდი რაოდენობით. 1052 00:54:04,250 --> 00:54:08,290 >> ასე რომ, ამ შემთხვევაში, თუ N არის ერთი ან ორი, მოხვდა საქმე და მაშინ იგი 1053 00:54:08,290 --> 00:54:10,640 ჩავარდნას, რადგან არ არსებობს შესვენება. 1054 00:54:10,640 --> 00:54:11,610 და დასრულდება აქ. 1055 00:54:11,610 --> 00:54:15,360 ასე რომ, თუ ჩვენ აირჩიოთ ერთი, ის ყველაფერს გააკეთებს printf და შემდეგ შესვენება ისე, რომ არც 1056 00:54:15,360 --> 00:54:17,610 ეს არის შესრულებული. 1057 00:54:17,610 --> 00:54:21,870 და რა თქმა უნდა, თუ ისინი შევა სამი ან რაღაც, მაშინ გამოტოვოთ 1058 00:54:21,870 --> 00:54:25,320 იმ და არა იქ, და ეს განახორციელებს ნაცვლად 1059 00:54:25,320 --> 00:54:27,490 შესაბამისი ხაზი. 1060 00:54:27,490 --> 00:54:29,390 არსებობს რაიმე შეკითხვები, რომ? 1061 00:54:29,390 --> 00:54:29,780 დიახ? 1062 00:54:29,780 --> 00:54:32,642 >> დინამიკები 4: თუ თქვენ გაქვთ შეცდომა, თუ თქვენ ჰქონდა შესვენების შემდეგ შემთხვევაში, თუ ერთი, მაგრამ ეს 1063 00:54:32,642 --> 00:54:34,550 არ აქვს რაღაც რომ გავაკეთოთ? 1064 00:54:34,550 --> 00:54:37,820 >> JOSEPH: ასე რომ, კითხვა, რომ თქვენ მიიღებთ შეცდომა, თუ თქვენ გაქვთ შესვენების შემდეგ 1065 00:54:37,820 --> 00:54:39,730 შემთხვევაში ერთი მაგრამ არაფერი გავაკეთოთ? 1066 00:54:39,730 --> 00:54:41,520 და პასუხი არ არის. 1067 00:54:41,520 --> 00:54:43,172 თქვენ არ რეალურად მიიღონ შეცდომა. 1068 00:54:43,172 --> 00:54:44,590 ჰო, mm hmm. 1069 00:54:44,590 --> 00:54:54,540 >> ასე რომ, როგორც ერთგვარი პატარა ცვლილება აქ, მე ვაპირებ დააყენოს printf აქ. 1070 00:54:54,540 --> 00:54:55,790 Whoops. 1071 00:54:55,790 --> 00:55:00,994 1072 00:55:00,994 --> 00:55:04,880 მერე რა, რომ ამ ამობეჭდოთ თუ მე ზუსტად ერთი, როგორც შეყვანის? 1073 00:55:04,880 --> 00:55:07,530 1074 00:55:07,530 --> 00:55:07,770 ჰო. 1075 00:55:07,770 --> 00:55:10,360 ის რომ გითხრათ, ეს არ დიდი რაოდენობით ორჯერ, არა? 1076 00:55:10,360 --> 00:55:13,500 იმიტომ, რომ მოხვდა, რომ პირველ შემთხვევაში, ეს არ დაარღვიოს, და ეს იქნებოდა დაეცემა 1077 00:55:13,500 --> 00:55:15,730 გადის მეორე შემთხვევაში. 1078 00:55:15,730 --> 00:55:16,950 რაიმე შეკითხვები, რომ? 1079 00:55:16,950 --> 00:55:18,280 >> ROB: ჯერ თქვენ გაქვთ სხვა კითხვები? 1080 00:55:18,280 --> 00:55:20,840 >> JOSEPH: OK, გაგრილებას. 1081 00:55:20,840 --> 00:55:22,400 ყველა უფლება. 1082 00:55:22,400 --> 00:55:25,780 ასე რომ, არსებობს რაღაც ჩვენ მოვუწოდებთ ternary ოპერატორი, რომელიც ძირითადად 1083 00:55:25,780 --> 00:55:29,010 ალტერნატიული სინტაქსი აკეთებს იმ შემთხვევაში, თუ და მერე სხვა დანარჩენი. 1084 00:55:29,010 --> 00:55:30,470 და ის საშუალებას გაძლევთ ამის გაკეთება ყველა ერთ ხაზს. 1085 00:55:30,470 --> 00:55:34,110 ამიტომ ამ კონკრეტული პროგრამა, მე გეკითხებით მომხმარებელს n. 1086 00:55:34,110 --> 00:55:37,190 და თუ n მეტია 100, მე ვუთხრა ისინი აიყვანეს დიდი რაოდენობით. 1087 00:55:37,190 --> 00:55:39,560 სხვაგან მე გეტყვით მათ აიყვანეს დაბალი ნომერი. 1088 00:55:39,560 --> 00:55:43,030 >> ასე რომ ჩვენ შეგვიძლია გამოვიყენოთ ეს მართლაც ხანგრძლივი სინტაქსი, string, S, და შემდეგ შეამოწმეთ თუ N არის 1089 00:55:43,030 --> 00:55:45,260 აღემატება 100 და მივანიჭოთ ის შესაბამისად. 1090 00:55:45,260 --> 00:55:49,450 მაგრამ ჩვენ შეგვიძლია, რომ ეს ბევრად უფრო ლაკონურად გამოყენებით ამ ternary ოპერატორი სინტაქსი 1091 00:55:49,450 --> 00:55:52,090 რომელიც მოიცავს კითხვა მარკა და მსხვილი ნაწლავის. 1092 00:55:52,090 --> 00:55:55,070 ასე რომ, კითხვის ნიშნის არსებითად სვამს კითხვას, არა? 1093 00:55:55,070 --> 00:55:56,625 >> ROB: შესაძლოა მიუახლოვდით რომ. 1094 00:55:56,625 --> 00:55:57,372 >> JOSEPH: დიახ. 1095 00:55:57,372 --> 00:56:00,210 კარგი წერტილი. 1096 00:56:00,210 --> 00:56:02,550 ასე, რომ ეს არის ternary ოპერატორს. 1097 00:56:02,550 --> 00:56:06,100 მე პირველად კითხვა, არის n აღემატება 100? 1098 00:56:06,100 --> 00:56:09,770 თუ ეს არის, მაშინ შეასრულოს პირველი ნაწილი ადრე მსხვილი ნაწლავის. 1099 00:56:09,770 --> 00:56:13,360 თუ ეს არ არის, მაშინ მე შესრულდეს მეორე ნაწილი შემდეგ მსხვილი ნაწლავის. 1100 00:56:13,360 --> 00:56:16,640 ასე რომ, თუ n მეტია 100, მაშინ ეს მწვერვალებით მაღალი და აყენებს 1101 00:56:16,640 --> 00:56:18,360 რომ შევიდა string s. 1102 00:56:18,360 --> 00:56:22,170 თუ n ნაკლებია, ვიდრე 100, ის Picks დაბალი და შემდეგ აყენებს რომ შევიდა string s. 1103 00:56:22,170 --> 00:56:30,186 ისე, რომ condense დიდი ბლოკი ქვემოთ შევიდა, რომ მხოლოდ ერთი ხაზი. 1104 00:56:30,186 --> 00:56:32,010 >> დინამიკები 5: ის არის, რომ პოპულარული? 1105 00:56:32,010 --> 00:56:36,070 >> JOSEPH: დიახ, ეს საკმაოდ პოპულარული რამ, სადაც არსებითად გსურთ 1106 00:56:36,070 --> 00:56:38,700 არ დავალების საფუძველზე გარკვეული მდგომარეობაში. 1107 00:56:38,700 --> 00:56:43,110 და ამ შემთხვევაში, ჩვენ ვცდილობთ, დაავალოს ღირებულება string s. 1108 00:56:43,110 --> 00:56:44,840 ეს ასე არ არის - 1109 00:56:44,840 --> 00:56:47,670 ვფიქრობ, ნამდვილად არ ურჩევნია ეს სხვა შემთხვევებში. 1110 00:56:47,670 --> 00:56:49,390 მაგრამ ეს განსაკუთრებით სასარგებლოა ეს დავალება. 1111 00:56:49,390 --> 00:56:54,490 >> ROB: ეს არის საკმაოდ გავრცელებული ნიმუში სადაც თქვენ უნდა გარკვეული ცვლადი რომ 1112 00:56:54,490 --> 00:56:58,200 თქვენ აპირებს ვთქვა, თუ რამე, მითითებული ამ ცვლადის ერთ ღირებულება; სხვაგან, მითითებული 1113 00:56:58,200 --> 00:56:59,810 ამ ცვლადის სხვა ღირებულება. 1114 00:56:59,810 --> 00:57:03,360 და ეს არის სცენარი სადაც გამოიყენოთ ternary. 1115 00:57:03,360 --> 00:57:05,220 >> JOSEPH: და თქვენ გადარჩენა უამრავი ხაზი, უფლება? 1116 00:57:05,220 --> 00:57:08,090 და ეს მხოლოდ ხდის თქვენი კოდი, სავარაუდოდ, ცოტა მეტი იკითხება. 1117 00:57:08,090 --> 00:57:08,635 დიახ, კითხვის ნიშნის ქვეშ? 1118 00:57:08,635 --> 00:57:12,384 >> დინამიკები 6: იყიდება ternary, ვერ წახვალ, string s შეადგენს ნანახია, კითხვის ნიშნის? 1119 00:57:12,384 --> 00:57:15,280 და მაშინ შეიძლება, ვთქვათ, ხუთი სხვადასხვა პარამეტრები. 1120 00:57:15,280 --> 00:57:18,310 და დამოკიდებულია იმაზე, თუ რა რაოდენობის n იყო, რომ თქვენ ერთი იმ? 1121 00:57:18,310 --> 00:57:22,210 >> JOSEPH: ასე კითხვა, არსებობს სახის სინტაქსური სადაც შეგიძლიათ გააკეთოთ string 1122 00:57:22,210 --> 00:57:25,910 s უდრის n, და შემდეგ უფრო მეტი, ვიდრე ორი პარამეტრები შემდეგ, რომ კითხვის ნიშნის? 1123 00:57:25,910 --> 00:57:29,740 და მარტივი პასუხი არ არის, იქ არ არის მართლაც კარგი გზა უნდა გააკეთოს, რომ თუ 1124 00:57:29,740 --> 00:57:33,850 გსურთ ბუდე მრავალჯერადი ternary ოპერატორები შიგნით ერთმანეთს. 1125 00:57:33,850 --> 00:57:38,050 >> თქვენ შეიძლება არ მოსწონს n აღემატება 100, კითხვის ნიშნის, და შემდეგ სხვა 1126 00:57:38,050 --> 00:57:41,850 ternary ოპერატორი, n აღემატება 50, კითხვის ნიშნის, და ბუდე, რომ გზა. 1127 00:57:41,850 --> 00:57:45,240 მაგრამ ამ სცენარით, თქვენი კოდი არის მიღების სახის unreadable და ბინძურ, 1128 00:57:45,240 --> 00:57:47,920 და ეს შეიძლება იყოს უკეთესი უბრალოდ წასვლა იმ შემთხვევაში, თუ / Else განცხადება იმ ეტაპზე. 1129 00:57:47,920 --> 00:57:54,530 >> ROB: და ასევე, როგორც მინიშნება, PHP არასწორად ახორციელებს ternary 1130 00:57:54,530 --> 00:57:58,053 ოპერატორი ისეთი, რომ წყობილი ternaries კი არ მუშაობენ, როგორც მათ უნდა. 1131 00:57:58,053 --> 00:57:58,840 >> JOSEPH: ჰო. 1132 00:57:58,840 --> 00:58:01,170 ასე რომ იღებს ცოტა გაუგებარია, განსაკუთრებით მაშინ, როდესაც მიდიხარ 1133 00:58:01,170 --> 00:58:02,145 სხვადასხვა ენებზე. 1134 00:58:02,145 --> 00:58:04,810 >> ROB: ეს დამაბნეველი საკმარისი, რომ languages ​​არასწორია ამის შესახებ. 1135 00:58:04,810 --> 00:58:08,030 1136 00:58:08,030 --> 00:58:11,510 >> JOSEPH: ასე რომ, რეალურად, უბრალოდ გარკვევა, ამჯამად ყველას ვიცი რა, რომ 1137 00:58:11,510 --> 00:58:13,900 % S არ აქ? 1138 00:58:13,900 --> 00:58:15,650 რაიმე შეკითხვები, რომ? 1139 00:58:15,650 --> 00:58:19,760 ვფიქრობ, მხოლოდ კამერა,% s ძირითადად საშუალებას გვაძლევს დააყენა placeholder 1140 00:58:19,760 --> 00:58:20,790 სიმებიანი. 1141 00:58:20,790 --> 00:58:23,920 და მერე ბოლოს, ჩვენ დააკონკრეტა, რომ ცვლადი ჩვენ გვინდა ამოქმედებული ამ 1142 00:58:23,920 --> 00:58:25,500 ადგილზე მფლობელი s. 1143 00:58:25,500 --> 00:58:27,730 ასე რომ, ძირითადად იღებს s და ეს აყენებს მას აქ. 1144 00:58:27,730 --> 00:58:32,130 და მაშინ ამობეჭდოთ, თქვენ აიყვანეს მაღალი ან თქვენ აიყვანეს დაბალი ნომერი. 1145 00:58:32,130 --> 00:58:33,770 OK. 1146 00:58:33,770 --> 00:58:36,970 >> ასე მარყუჟების საშუალებას გაძლევთ შეასრულოს რამ in წრიული მოძრაობით, არა? 1147 00:58:36,970 --> 00:58:40,300 თქვენ შეიძლება არ შეექმნა ამ Scratch სახით Forever მარყუჟების 1148 00:58:40,300 --> 00:58:45,650 ან გაიმეორეთ სანამ ან გაიმეორეთ კონკრეტული რაოდენობის ჯერ. 1149 00:58:45,650 --> 00:58:47,540 რატომ არის ეს კარგი ჩვენთვის? 1150 00:58:47,540 --> 00:58:51,500 ასევე, C, ვთქვათ, ჩვენ ამ სიმღერა განხორციელებული Scratch, რომ 1151 00:58:51,500 --> 00:58:53,450 მღერის, ეს სიმღერა რომ არასოდეს მთავრდება. 1152 00:58:53,450 --> 00:58:55,710 უბრალოდ მიდის და და სამუდამოდ და სამუდამოდ. 1153 00:58:55,710 --> 00:58:59,395 ისე, თქვენ ნამდვილად ვერ მიიღოს პროგრამა რომელსაც აქვს უსასრულო რაოდენობის printf 1154 00:58:59,395 --> 00:59:00,850 განცხადებები იგი, არა? 1155 00:59:00,850 --> 00:59:04,900 >> ასე რომ, ამ კონკრეტულ სცენარი, ერთი გზა რომ თქვენ შეიძლება, რომ ეს მუშაობა და 1156 00:59:04,900 --> 00:59:09,330 რათა ის ბეჭდვა სამუდამოდ არის ნაცვლად გამოიყენოთ ხოლო loop. 1157 00:59:09,330 --> 00:59:13,640 ამიტომ მიუხედავად იმისა, რომ loop განახორციელებს, რა არის სხეულში ორი აფრთხილებს, რომ 1158 00:59:13,640 --> 00:59:17,250 ეკუთვნის რის საფუძველზე მდგომარეობა. 1159 00:59:17,250 --> 00:59:21,170 ასე რომ, ამ კონკრეტულ მაგალითად ადრე, თუ ჩვენ გვინდა ბეჭდვა სამუდამოდ, რა 1160 00:59:21,170 --> 00:59:23,590 შეიძლება გავაკეთოთ? 1161 00:59:23,590 --> 00:59:25,190 ისე, რა თქმა უნდა, არა? 1162 00:59:25,190 --> 00:59:32,290 >> ასე რომ, ეს სახის აერთიანებს იდეა ზოგიერთი ლოგიკური გამოხატვის 1163 00:59:32,290 --> 00:59:33,610 ერთად loop. 1164 00:59:33,610 --> 00:59:35,780 და ჩვენ შეიტყო ლოგიკური გამონათქვამები ადრე. 1165 00:59:35,780 --> 00:59:39,650 ასე რომ როდესაც პირობით შიგნით რომ მიუხედავად იმისა, რომ რჩება ჭეშმარიტი, ამ loop 1166 00:59:39,650 --> 00:59:41,480 განახორციელებს და და. 1167 00:59:41,480 --> 00:59:44,640 და ამ შემთხვევაში, თუ ჩვენ მხოლოდ მიაწოდოს მას ჭეშმარიტი, ეს იწვევს უსასრულო 1168 00:59:44,640 --> 00:59:49,310 loop რომელიც ბეჭდავს სიმღერა და და როგორც ჩვენ სასურველ ადრე გარეშე 1169 00:59:49,310 --> 00:59:52,410 მქონე პროგრამა, რომელიც უსასრულო ნომერი printf განცხადებები, რომლებიც არ არის 1170 00:59:52,410 --> 00:59:55,220 არ არის შესაძლებელი. 1171 00:59:55,220 --> 00:59:57,810 >> ასე უფრო compellingly, თუმცა, თქვენ შეგიძლიათ გამოიყენოთ ეს ერთად 1172 00:59:57,810 --> 00:59:59,710 ცვლადი და მდგომარეობა. 1173 00:59:59,710 --> 01:00:04,420 ასე ვთქვათ ჩვენ გვინდა გავიმეოროთ ფრაზა, სრულიად loopy, 10 ჯერ. 1174 01:00:04,420 --> 01:00:08,380 ასე რომ, რა შეგიძლიათ გააკეთოთ, ხოლო loop არის შეგიძლიათ პირველი ინიციალიზაცია counter 1175 01:00:08,380 --> 01:00:10,860 ცვლადი გარეთ ხოლო loop 10. 1176 01:00:10,860 --> 01:00:14,360 და შემდეგ, პრაქტიკულად, ყოველ დროს, თქვენ წავიდეთ მეშვეობით ხოლო მარყუჟის, თქვენ ამობეჭდოთ 1177 01:00:14,360 --> 01:00:19,090 განცხადებას და მაშინ შემცირება counter ცვლადი, სანამ დასასრულს, 1178 01:00:19,090 --> 01:00:23,020 რაღაც მომენტში, კიდევ ერთხელ გამოვაკლებთ მე საკმარისი ჯერ, 1 I საკმარისი - ჯერ 1179 01:00:23,020 --> 01:00:27,290 და მხოლოდ განმარტავს, მე მინუს მინუს იმას ნიშნავს, მე უდრის მე მინუს 1. 1180 01:00:27,290 --> 01:00:31,280 >> ეს ძირითადად მოუტანს I ქვემოთ წერტილში, სადაც კიდევ ერთხელ მე მოხვდა ნულოვანი, ამ 1181 01:00:31,280 --> 01:00:35,260 მდგომარეობა აღარ არის ჭეშმარიტი და ასე რომ ითიშება გარეთ loop. 1182 01:00:35,260 --> 01:00:37,045 ასე რომ, სრულიად loopy მხოლოდ ბეჭდავს 10 ჯერ. 1183 01:00:37,045 --> 01:00:39,550 1184 01:00:39,550 --> 01:00:41,080 რაიმე შეკითხვები, ხოლო loop? 1185 01:00:41,080 --> 01:00:44,580 1186 01:00:44,580 --> 01:00:46,790 OK. 1187 01:00:46,790 --> 01:00:50,550 >> ასე რომ, არსებობს გზა, ჩვენ შეგვიძლია გავაკეთოთ ის, რაც ჩვენ უბრალოდ გააკეთა უფრო ლაკონურ წესით 1188 01:00:50,550 --> 01:00:51,715 რაც ჩვენ მოვუწოდებთ იყიდება loop. 1189 01:00:51,715 --> 01:00:55,750 ასე რომ მარყუჟი შედგება ინიციალიზაციისას, მდგომარეობა და 1190 01:00:55,750 --> 01:00:58,950 განახლება, ისევე, როგორც ჩვენ გვქონდა ადრე ამ ხოლო loop. 1191 01:00:58,950 --> 01:00:59,890 მოდით შევხედოთ. 1192 01:00:59,890 --> 01:01:02,900 ამ ხოლო მარყუჟის, ჩვენ გვქონდა ინიციალიზაცია, მაშინ ჩვენ გვქონდა 1193 01:01:02,900 --> 01:01:04,260 პირობით, რომ ჩვენ შემოწმდება. 1194 01:01:04,260 --> 01:01:06,450 და მაშინ ჩვენ გვქონდა განახლება ნაბიჯი ზედა. 1195 01:01:06,450 --> 01:01:10,060 >> ერთად მარყუჟის, ეს ძირითადად იღებს ეს სამი რამ და კონდენსირდება იგი 1196 01:01:10,060 --> 01:01:11,370 ქვემოთ ერთ ხაზი. 1197 01:01:11,370 --> 01:01:15,130 ასე რომ, პირველი, რაც ამას ადგილი აქვს მარყუჟის არის ინიციალიზაცია. 1198 01:01:15,130 --> 01:01:19,090 და მაშინ გავაკეთებთ, მძიმით, და შემდეგ თქვენ აკეთებთ მდგომარეობა, რომელიც მე 1199 01:01:19,090 --> 01:01:22,200 მეტი ნულოვანი მიდის იქ, და შემდეგ update ნაბიჯი. 1200 01:01:22,200 --> 01:01:26,470 ასე რომ, ეს იღებს შესრულდა ბოლომდე loop ორგანო. 1201 01:01:26,470 --> 01:01:28,790 ასე რომ, ეს ორი პროგრამა არსებითად ექვივალენტი. 1202 01:01:28,790 --> 01:01:31,960 1203 01:01:31,960 --> 01:01:33,870 >> რაიმე შეკითხვა? 1204 01:01:33,870 --> 01:01:37,000 რა არის ერთი განსხვავება ამ ორ? 1205 01:01:37,000 --> 01:01:38,000 შეიძლება ვინმეს აღვნიშნო ის? 1206 01:01:38,000 --> 01:01:40,480 ეს შეიძლება იყოს bit დახვეწილი. 1207 01:01:40,480 --> 01:01:41,930 ეს მხოლოდ ძალიან მცირე განსხვავება. 1208 01:01:41,930 --> 01:01:42,330 დიახ? 1209 01:01:42,330 --> 01:01:49,008 >> დინამიკები 5: თქვენ ვერ შეძლებს გამოიყენოს მე ცვლადი გარეთ მარყუჟის 1210 01:01:49,008 --> 01:01:49,962 [INAUDIBLE]? 1211 01:01:49,962 --> 01:01:50,900 >> JOSEPH: ზუსტად. 1212 01:01:50,900 --> 01:01:53,550 ასე რომ, ეს არის ის, რაც ჩვენ კიდევ მოგვიანებით მოუწოდა ცვლადი ფარგლებს. 1213 01:01:53,550 --> 01:01:56,610 მაგრამ არსებითად, ამ int i ცხოვრება გარეთ ამ ხოლო loop. 1214 01:01:56,610 --> 01:01:59,800 ასე რომ ერთხელ ეს მიუხედავად იმისა, რომ მარყუჟი კეთდება შესრულებაში, მე შეძლებთ გამოიყენოთ მოგვიანებით 1215 01:01:59,800 --> 01:02:00,880 ამ პროგრამაში. 1216 01:02:00,880 --> 01:02:05,430 >> ვინაიდან ამ მარყუჟის, ეს int I არის scoped შიგნით ამ loop. 1217 01:02:05,430 --> 01:02:10,240 და რადგან ეს არის შიგნით ამ ნაწილის ამისთვის loop, რომელიც იწყება 1218 01:02:10,240 --> 01:02:13,200 at ფრჩხილებში და მთავრდება Curly გაუწიოს იქ. 1219 01:02:13,200 --> 01:02:16,120 არაფერი რომ განაცხადა შიგნით აქ არ შეიძლება გამოყენებულ გარეთ. 1220 01:02:16,120 --> 01:02:20,420 ასე თუ ცდილობენ გამოიყენონ I გარეთ, იგი ყველაფერს მითხრათ, გამოუცხადებელ სიმბოლო. 1221 01:02:20,420 --> 01:02:22,420 და არსებითად, მე არ შეძლებს გამოიყენოს იგი. 1222 01:02:22,420 --> 01:02:28,460 >> ROB: და ასევე, 10 წლის წინ, ფაქტიურად ყველა შემთხვევაში, curly აფრთხილებს არიან 1223 01:02:28,460 --> 01:02:31,140 რა თქვენ გამოყენებული, რათა დადგინდეს ფარგლებში ცვლადი. 1224 01:02:31,140 --> 01:02:37,240 ასე რომ, იქ, int i შეადგენს 10 ცხადდება შიგნით ამ 1225 01:02:37,240 --> 01:02:38,520 მითითებული curly აფრთხილებს. 1226 01:02:38,520 --> 01:02:42,530 და ასე შემდეგ, რადგან თქვენ ცდილობენ გამოიყენონ I ადრე Curly გაუწიოს, ეს ჯარიმა. 1227 01:02:42,530 --> 01:02:47,090 1228 01:02:47,090 --> 01:02:51,460 თქვენ ალბათ ხედავთ, როდესაც თქვენ აკრიფოთ მიიღოს, თქვენ იხილეთ dash, ტირე, std, ტოლობის, c99. 1229 01:02:51,460 --> 01:02:57,100 >> ასე რომ, მოგვიანებით მობილური C რომ GCC განახორციელა, რომელიც ასევე აძლევს 1230 01:02:57,100 --> 01:02:58,740 ეს კომბინაცია. 1231 01:02:58,740 --> 01:03:03,505 ასე რომ, ეს გამოყენებული არ დაიშვება in C. და ხედავთ, რატომ, იმიტომ, რომ ეს int 1232 01:03:03,505 --> 01:03:07,600 მე გარეთ ამ Curly გაუწიოს, მაგრამ ის ჯერ კიდევ ითვლება 1233 01:03:07,600 --> 01:03:09,750 ფარგლებში ამ curly აფრთხილებს. 1234 01:03:09,750 --> 01:03:14,120 მაგრამ ეს არის ძალიან მოსახერხებელი რამ, და ამიტომ არის კარგი გაფართოება. 1235 01:03:14,120 --> 01:03:15,370 >> JOSEPH: ნებისმიერი კითხვები? 1236 01:03:15,370 --> 01:03:17,550 1237 01:03:17,550 --> 01:03:19,260 OK. 1238 01:03:19,260 --> 01:03:22,820 რა არის უფრო სასარგებლო არის, რომ ზოგჯერ გსურთ სახის დინამიზმის 1239 01:03:22,820 --> 01:03:23,410 თქვენი მარყუჟის, არა? 1240 01:03:23,410 --> 01:03:26,350 თქვენ არ მინდა უბრალოდ აუცილებლად ბეჭდვა სრულიად loopy ყველა დროის, თქვენ 1241 01:03:26,350 --> 01:03:28,650 გსურთ ითვლიან ქვემოთ 10 ან რამე. 1242 01:03:28,650 --> 01:03:32,010 და ასე რომ თქვენ შეგიძლიათ გამოიყენოთ counter ცვლადი შიგნით რომ loop ისევე. 1243 01:03:32,010 --> 01:03:35,530 და ამ შემთხვევაში, ეს პროგრამა უბრალოდ ითვლის ქვემოთ 10 ყველა გზა down. 1244 01:03:35,530 --> 01:03:39,260 და რას არ ბეჭდვა? 1245 01:03:39,260 --> 01:03:42,790 ეს არ ბეჭდვა ნულოვანი, უფლება, რადგან, როდესაც - 1246 01:03:42,790 --> 01:03:45,460 დიახ, ეს ასევე არ ბეჭდვა 11. 1247 01:03:45,460 --> 01:03:49,200 >> ასე რომ არ ბეჭდვა zero, რადგან, როდესაც I არის ნულოვანი, გახსოვდეთ, იგი აფასებს 1248 01:03:49,200 --> 01:03:52,170 იმ პირობით, სანამ იგი მიდის შეასრულოს loop ორგანო. 1249 01:03:52,170 --> 01:03:56,820 და როცა არის ნულოვანი, ეს არის ყალბი, ასე რომ, იგი არ ამობეჭდოთ დათვლის ქვემოთ 1250 01:03:56,820 --> 01:04:00,200 zero, უბრალოდ ბეჭდავს out დათვლა ქვემოთ 10 ყველა გზა ქვემოთ 1. 1251 01:04:00,200 --> 01:04:03,420 თუ ჩვენ რეალურად უნდოდა ბეჭდვა ნულოვანი, მაშინ ჩვენ დააყენა თანაბარი ნიშანი 1252 01:04:03,420 --> 01:04:04,750 მას შემდეგ, რაც ამ მეტია ნიშანი. 1253 01:04:04,750 --> 01:04:09,400 1254 01:04:09,400 --> 01:04:10,130 OK. 1255 01:04:10,130 --> 01:04:16,410 >> ასე რომ ერთი გზა ამის შეყვანის ძალადაკარგულია, რომელიც როდესაც თქვენ ეკითხებით შესახებ უნდა გააკეთოს 1256 01:04:16,410 --> 01:04:18,620 რაღაც, თქვენ გვინდა დავრწმუნდეთ, რომ ისინი დაიცვას თქვენი ინსტრუქციები, გამოყენება 1257 01:04:18,620 --> 01:04:19,400 მიუხედავად იმისა, მარყუჟის, არა? 1258 01:04:19,400 --> 01:04:22,990 ასე რომ, ამ შემთხვევაში, მე გეკითხებით დადებითი ნომერი და მაშინ მე 1259 01:04:22,990 --> 01:04:23,810 ელოდება შეყვანის. 1260 01:04:23,810 --> 01:04:28,210 >> და შემდეგ მე შევამოწმე მიუხედავად იმისა, რომ შეყვანის არის ნაკლებია, ვიდრე ნულოვანი, შეინახოს ეკითხება მათ. 1261 01:04:28,210 --> 01:04:32,100 ასე რომ, რადგან ისინი მომეცი ნომერი რომ არ არის დადებითი, შეინახოს ეკითხება, 1262 01:04:32,100 --> 01:04:33,600 შეინახოს ეკითხება, შეინახოს ითხოვს. 1263 01:04:33,600 --> 01:04:35,860 მაგრამ რა არის ერთგვარი უცნაური ამის შესახებ? 1264 01:04:35,860 --> 01:04:38,570 ან რა არ ჩანს, ოპტიმალური შესახებ ამ სტრუქტურის უფლება აქ? 1265 01:04:38,570 --> 01:04:44,282 1266 01:04:44,282 --> 01:04:44,758 ვინმეს? 1267 01:04:44,758 --> 01:04:45,234 დიახ? 1268 01:04:45,234 --> 01:04:47,614 >> დინამიკები 6: თქვენ იმეორებს ინსტრუქცია ორჯერ. 1269 01:04:47,614 --> 01:04:48,100 >> JOSEPH უფლება. 1270 01:04:48,100 --> 01:04:50,090 ამიტომ ჩვენ გვაქვს ორი printf განცხადებები აქ, არა? 1271 01:04:50,090 --> 01:04:53,440 ასე რომ, არსებობს გზა, ჩვენ ვერ ეს მხოლოდ ქვემოთ ერთი, რომ ეს ჩვენი 1272 01:04:53,440 --> 01:04:57,170 კოდი ადვილი წასაკითხი და ცოტა უფრო სუფთა. 1273 01:04:57,170 --> 01:05:00,180 და მაშინ ჩვენ არ უნდა არ მიიღეთ ორჯერ კარგად. 1274 01:05:00,180 --> 01:05:03,740 და ერთი გზა ამისათვის არის გამოყენებით do-ხოლო loop. 1275 01:05:03,740 --> 01:05:07,670 >> და do-ხოლო loop ძირითადად სხვადასხვა ფორმის მიუხედავად იმისა loop სადაც 1276 01:05:07,670 --> 01:05:11,460 რაც ფარგლებში curly აფრთხილებს იღებს შესრულებული ერთხელ მაინც. 1277 01:05:11,460 --> 01:05:14,840 ასე რომ, აქ, მე ვაცხადებ, int input გარეთ პირველი. 1278 01:05:14,840 --> 01:05:18,100 და მერე უბრალოდ, ვამბობთ, ამისათვის ინსტრუქცია ხოლო input 1279 01:05:18,100 --> 01:05:19,140 ნაკლებია, ვიდრე ნულოვანი. 1280 01:05:19,140 --> 01:05:20,530 ასე რომ, ეს ჰიტები Do პირველი. 1281 01:05:20,530 --> 01:05:24,190 ის ყოველთვის შეასრულოს ეს მინიმუმ ერთხელ, ასე რომ ყოველთვის ვთხოვ შესახებ 1282 01:05:24,190 --> 01:05:25,960 შეყვანის ერთხელ მაინც. 1283 01:05:25,960 --> 01:05:29,390 და მაშინ იგი აფასებს, რომ input, და ეს გრძელდება წრეში. 1284 01:05:29,390 --> 01:05:30,135 დიახ, კითხვის ნიშნის ქვეშ? 1285 01:05:30,135 --> 01:05:32,602 >> დინამიკები 6: არის გზა ამის გაკეთება [INAUDIBLE] ტიპის, მოსწონს თუ თქვენ ამბობთ, 1286 01:05:32,602 --> 01:05:34,268 GetString, და ვინმე [INAUDIBLE] 1287 01:05:34,268 --> 01:05:35,220 არის გზა [INAUDIBLE] 1288 01:05:35,220 --> 01:05:40,060 >> JOSEPH ასე რომ კითხვაზე, არსებობს გზა ამის შეყვანის ძალადაკარგულია თუ მომხმარებელი 1289 01:05:40,060 --> 01:05:41,850 არ დასვა უფლება ტიპის ცვლადი? 1290 01:05:41,850 --> 01:05:44,460 ასე რომ, თუ ჩვენ ვთხოვთ int და ისინი მოგვცეს string ნაცვლად. 1291 01:05:44,460 --> 01:05:49,110 და ფუნქციები, რომ ჩვენ განხორციელება თქვენ, GetInt, GetString ყველა 1292 01:05:49,110 --> 01:05:52,680 იმ ფუნქციებს, ისინი რეალურად უკვე გავაკეთოთ, რომ სახის ძირითადი ტიპის input 1293 01:05:52,680 --> 01:05:54,120 ძალადაკარგულია ქვეშ hood. 1294 01:05:54,120 --> 01:05:57,390 ასე რომ, თუ თქვენ იყენებთ ფუნქციებს, რომ ჩვენ მისცა, თქვენ ნამდვილად არ უნდა. 1295 01:05:57,390 --> 01:06:01,380 >> მაგრამ თუ გსურთ უფრო, თუ როგორ თქვენ შეგიძლიათ რეალურად გავაკეთოთ, რომ თქვენ შეგიძლიათ შეხედოთ 1296 01:06:01,380 --> 01:06:03,360 ქვეშ hood at ფაილი I/O-- 1297 01:06:03,360 --> 01:06:07,990 არ შეიტანოს, სტანდარტული I / O ფუნქციები მოსწონს კითხულობს სტანდარტული input და 1298 01:06:07,990 --> 01:06:08,580 სტანდარტული გამომავალი. 1299 01:06:08,580 --> 01:06:10,630 და შეგიძლიათ მიიღოთ უკეთესი გრძნობა თუ როგორ შეიძლება ამის გაკეთება. 1300 01:06:10,630 --> 01:06:13,670 >> ROB: ერთი საკითხი, თუმცა, კონკრეტულად ერთად მაგალითად 1301 01:06:13,670 --> 01:06:17,070 განაცხადა, თქვენ ველით string და მე შევა int. 1302 01:06:17,070 --> 01:06:20,110 როგორ გითხრათ განსხვავებაა შორის განზრახ სურვილს 1303 01:06:20,110 --> 01:06:23,130 string 123 წინააღმდეგ სურვილს int 123? 1304 01:06:23,130 --> 01:06:29,230 ასე რომ, string, ის საკმაოდ ბევრი არ არსებობს დადასტურება, უბრალოდ, რასაც 1305 01:06:29,230 --> 01:06:31,600 შევიდა თქვენ ინტერპრეტაცია როგორც სიმებიანი. 1306 01:06:31,600 --> 01:06:35,790 >> Int უფრო ადვილია, იმიტომ, რომ არა აქვს მნიშვნელობა input თქვენ მიიღოს მომხმარებელს, თქვენ 1307 01:06:35,790 --> 01:06:37,470 ყოველთვის აღების სიმებიანი. 1308 01:06:37,470 --> 01:06:40,650 და ისე, რომ string შეგიძლიათ შემდეგ შეამოწმეთ, ყველა ამ 1309 01:06:40,650 --> 01:06:44,218 რეალურად რიცხვითი ციფრისგან? 1310 01:06:44,218 --> 01:06:45,170 >> JOSEPH: OK. 1311 01:06:45,170 --> 01:06:46,420 რაიმე შეკითხვები do-ხოლო loop? 1312 01:06:46,420 --> 01:06:49,170 >> ROB: Oh, და ეს არის - 1313 01:06:49,170 --> 01:06:55,130 ბრუნდება ფარგლებს, გარკვეულწილად საერთო შეცდომა ცდილობს გამოიყენოს ზოგიერთი ადგილობრივი 1314 01:06:55,130 --> 01:06:59,540 ცვლადი ამ Do-მიუხედავად იმისა, loop შიგნით ამ მდგომარეობაში. 1315 01:06:59,540 --> 01:07:02,850 და რეალურად, თუ ჩვენ უბრალოდ მოიშორეს და განაცხადა, int შეყვანის უდრის 1316 01:07:02,850 --> 01:07:06,990 GetInt, მაშინ კომპილატორი დაწეროთ ჩვენთვის, რადგან input არ არსებობს 1317 01:07:06,990 --> 01:07:08,900 საზღვარგარეთის ფარგლებში ამ curly აფრთხილებს. 1318 01:07:08,900 --> 01:07:10,792 >> JOSEPH: და ამიტომ საჭიროა ამ შემადგენლობით აქ. 1319 01:07:10,792 --> 01:07:13,620 1320 01:07:13,620 --> 01:07:14,630 OK. 1321 01:07:14,630 --> 01:07:17,530 ასე, რომ თქვენ, აგრეთვე, შეგიძლიათ შესვენება გარეთ loop დასაწყისში თუ გსურთ. 1322 01:07:17,530 --> 01:07:21,240 ასე რომ, ეს არის განსხვავებულ გზას ახორციელებს რა ჩვენ უბრალოდ განხორციელდა. 1323 01:07:21,240 --> 01:07:24,340 ნაცვლად გამოყენებით მდგომარეობაში ფარგლებში ფრჩხილებში, ჩვენ გამოყენებით 1324 01:07:24,340 --> 01:07:26,920 იმ შემთხვევაში, თუ განაცხადი შიგნით ორგანო საქართველოს do-ხოლო loop. 1325 01:07:26,920 --> 01:07:30,000 >> და ძირითადად, როდესაც input საბოლოოდ მეტი ნულოვანი, ჩვენ 1326 01:07:30,000 --> 01:07:31,000 შესვენება გარეთ loop. 1327 01:07:31,000 --> 01:07:33,420 და ასე წავალთ ყველა გზა ქვემოთ აქ. 1328 01:07:33,420 --> 01:07:37,920 და თქვენ ხედავთ, რომ ეს ალბათ უნდოდა ამ 1329 01:07:37,920 --> 01:07:39,870 სცენარი, იმიტომ, რომ ეს პატარა ცოტა სუფთა და პატარა 1330 01:07:39,870 --> 01:07:41,380 ცოტა ადვილი წასაკითხი. 1331 01:07:41,380 --> 01:07:45,210 ვინაიდან, თქვენ ერთგვარი აქვს ზედმეტი ხაზების იგი. 1332 01:07:45,210 --> 01:07:47,890 უბრალოდ ცოტა uglier, ვფიქრობ, ამ თვალსაზრისით. 1333 01:07:47,890 --> 01:07:48,530 დიახ, კითხვის ნიშნის ქვეშ? 1334 01:07:48,530 --> 01:07:52,178 >> დინამიკები 4: იქნება შესვენება მხოლოდ თქვენ გარეთ ერთი კომპლექტი აფრთხილებს? 1335 01:07:52,178 --> 01:07:53,080 >> JOSEPH უფლება. 1336 01:07:53,080 --> 01:07:58,100 ასე რომ, საკითხი იქნება შესვენება მხოლოდ თქვენ out ერთი loop? 1337 01:07:58,100 --> 01:07:59,280 და პასუხი არის დიახ. 1338 01:07:59,280 --> 01:08:04,290 ასე რომ, თუ თქვენ არ წყობილი ამისთვის მარყუჟების, ამისთვის მაგალითად, თუ მაქვს int მე უდრის 0 1339 01:08:04,290 --> 01:08:09,040 სანამ 10 და შემდეგ int J უდრის 0 სანამ 10, მე შესვენება out შიდა 1340 01:08:09,040 --> 01:08:12,310 loop, მე მაინც წავიდეთ გარე loop. 1341 01:08:12,310 --> 01:08:15,760 ასე რომ, გავაგრძელებთ ასრულებენ ოპერაციების გარეთ. 1342 01:08:15,760 --> 01:08:17,640 რაიმე შეკითხვები, რომ? 1343 01:08:17,640 --> 01:08:18,000 დიახ? 1344 01:08:18,000 --> 01:08:21,760 >> დინამიკები 5: მაგრამ შესვენება მხოლოდ ფუნქციები განთავსების curly აფრთხილებს, არა სხვა 1345 01:08:21,760 --> 01:08:22,230 განცხადებები? 1346 01:08:22,230 --> 01:08:22,700 [INAUDIBLE] 1347 01:08:22,700 --> 01:08:27,620 >> JOSEPH ასე რომ საკითხი იქნება შესვენება ერთადერთი ფუნქცია მარყუჟების როგორც ეწინააღმდეგებოდა 1348 01:08:27,620 --> 01:08:29,014 სხვა განცხადებების მსგავსად თუ? 1349 01:08:29,014 --> 01:08:32,950 და დიახ, ეს ასეა, იმიტომ, რომ თქვენ არღვევს out of მარყუჟის, უფლება, 1350 01:08:32,950 --> 01:08:33,630 გრძნობა. 1351 01:08:33,630 --> 01:08:37,215 >> ROB: In უმრავლეს შემთხვევაში, ეს ეს არის ერთგვარი თუ რამე, 1352 01:08:37,215 --> 01:08:37,660 მაშინ შესვენება. 1353 01:08:37,660 --> 01:08:41,580 ასე რომ თქვენ არ უნდა დაარღვიოს მიმართოს თუ ეს არის შესაფუთი გარშემო. 1354 01:08:41,580 --> 01:08:45,250 ასევე, ეს არ არის დიდი მარყუჟის, მაგრამ გახსოვდეთ, რომ კონცენტრატორები ასევე 1355 01:08:45,250 --> 01:08:46,340 გატეხილი მიერ შესვენებები. 1356 01:08:46,340 --> 01:08:48,390 ჩვენ ვნახეთ შეღავათები გამოიყენება ერთად კონცენტრატორები ადრე. 1357 01:08:48,390 --> 01:08:52,189 >> JOSEPH: თქვენ ასევე შეგიძლიათ მათ ხოლო მარყუჟების და მარყუჟების. 1358 01:08:52,189 --> 01:08:54,560 რაიმე შეკითხვა? 1359 01:08:54,560 --> 01:08:55,830 OK. 1360 01:08:55,830 --> 01:08:57,779 ასე რომ, შემდეგი up არის ფუნქციები. 1361 01:08:57,779 --> 01:09:01,500 ასე რომ თქვენ შეიძლება არ გამოიყენება ერთი ამ BYOB ბლოკები თქვენი Scratch პროექტი. 1362 01:09:01,500 --> 01:09:04,569 და ეს ძირითადად საშუალებას თქვენ უნდა განსაზღვროს კომპლექტი 1363 01:09:04,569 --> 01:09:05,680 ინსტრუქციები მოჰყვება. 1364 01:09:05,680 --> 01:09:09,569 >> და რას ვგულისხმობ მიერ რომ არის მოდით ვიფიქროთ თავში მათემატიკის, უფლება, ალგებრა. 1365 01:09:09,569 --> 01:09:13,370 თქვენ უნდა რაც ჩვენ მოვუწოდებთ ფუნქცია x, რამდენიმე ცვლადი და ვთქვათ ამ 1366 01:09:13,370 --> 01:09:16,080 ფუნქცია f of x უდრის x პლუს 5. 1367 01:09:16,080 --> 01:09:20,410 ასე რომ, შეგიძლიათ წარმოიდგინოთ ვ x, რადგან ეს შავი ყუთი რომ იღებს 15 და შემდეგ 1368 01:09:20,410 --> 01:09:22,590 აწარმოებს 20. 1369 01:09:22,590 --> 01:09:26,630 >> ასე რომ, ზოგადად, ფუნქცია ის, რასაც სჭირდება გარკვეული მასალები და 1370 01:09:26,630 --> 01:09:27,880 მაშინ აწარმოებს გარკვეული შედეგები. 1371 01:09:27,880 --> 01:09:31,920 1372 01:09:31,920 --> 01:09:32,960 და რატომ არიან ფუნქციების კარგი? 1373 01:09:32,960 --> 01:09:35,189 ისინი კარგი რიგი მიზეზების გამო. 1374 01:09:35,189 --> 01:09:40,470 ასე რომ ვინმეს სურს მიიღოს stab რა ორგანიზაცია ნიშნავს? 1375 01:09:40,470 --> 01:09:42,630 თვალსაზრისით რატომ ფუნქციები გამოსადეგი? 1376 01:09:42,630 --> 01:09:43,090 დიახ? 1377 01:09:43,090 --> 01:09:44,735 >> დინამიკები 4: რაც თქვენი კოდი უფრო იკითხება. 1378 01:09:44,735 --> 01:09:45,399 >> JOSEPH უფლება. 1379 01:09:45,399 --> 01:09:47,670 ასე რომ, ერთი რამ არის ის, რაც თქვენი კოდი უფრო იკითხება, არა? 1380 01:09:47,670 --> 01:09:53,710 იმის მაგივრად, როგორიცაა int x უდრის x ჯერ x ჯერ x, შემიძლია აქვს კუბი x, 1381 01:09:53,710 --> 01:09:57,190 რაც უფრო გასაგები და მეტი გასაგები მკითხველს. 1382 01:09:57,190 --> 01:10:01,150 >> ორგანიზაცია ასევე თვალსაზრისით გაყოფის up თქვენი კოდი შევიდა მართვადი 1383 01:10:01,150 --> 01:10:05,610 ნაწილი, ასე რომ ნაცვლად ცდილობს განხორციელების ყველა ერთ მონაკვეთზე 1384 01:10:05,610 --> 01:10:09,070 მთავარ, შეგიძლიათ სახის გაყოფილი it up თარგმნეს მოსწონს, OK, მოდით დავწეროთ ფუნქცია 1385 01:10:09,070 --> 01:10:11,910 to Cube რაღაც, მოდით დავწეროთ ფუნქციონირებს მოედანზე რაღაც. 1386 01:10:11,910 --> 01:10:15,950 ამ გზით თქვენ შეგიძლიათ გაყოფილი ეს დაყოფილია პატარა, პატარა ნაწილები, რომ თქვენ შეგიძლიათ დაძლევის 1387 01:10:15,950 --> 01:10:18,944 როგორც ეწინააღმდეგებოდა ცდილობს გაუმკლავდეს დიდი პრობლემა ერთდროულად. 1388 01:10:18,944 --> 01:10:21,806 >> ROB: ან თუნდაც პატარა, პატარა ნაწილები, თქვენ და პარტნიორი შეიძლება დაძლევის. 1389 01:10:21,806 --> 01:10:22,283 >> JOSEPH: ჰო. 1390 01:10:22,283 --> 01:10:23,855 >> ROB: ასე რომ ნაცვლად ორივე თქვენ ცდილობთ იმპლანტის ერთი 1391 01:10:23,855 --> 01:10:27,170 ფუნქციონირებს ამავე დროს. 1392 01:10:27,170 --> 01:10:28,800 >> JOSEPH: გამარტივება. 1393 01:10:28,800 --> 01:10:30,050 არავის სურს მიიღოს ვხვდები? 1394 01:10:30,050 --> 01:10:33,080 1395 01:10:33,080 --> 01:10:33,410 დიახ? 1396 01:10:33,410 --> 01:10:34,675 >> დინამიკები 5: More განმეორება. 1397 01:10:34,675 --> 01:10:35,260 >> JOSEPH უფლება. 1398 01:10:35,260 --> 01:10:39,210 ასე რომ, ერთი რამ, რომ შეგიძლიათ გააკეთოთ გამარტივება არის ის, რომ ეს ერთგვარი on 1399 01:10:39,210 --> 01:10:42,520 იგივე ხაზები როგორც ხელახლა გამოყენებადობა არის, რომ ერთხელ ვწერ კუბი ფუნქცია, შემიძლია 1400 01:10:42,520 --> 01:10:45,410 უბრალოდ გამოიყენოთ, რომ მეტი და მეტი ისევ ჩემი პროგრამა ნაცვლად აკრეფით 1401 01:10:45,410 --> 01:10:49,610 x ჯერ x ჯერ x მეტი და უსასრულოდ. 1402 01:10:49,610 --> 01:10:52,980 და გამარტივებას აქ ასევე მხოლოდ იმას ნიშნავს, რომ რაც თქვენი კოდი სახის 1403 01:10:52,980 --> 01:10:55,900 ადვილია გამართვის ერთხელ თქვენ გაყოფილი ამ დაყოფილია ფუნქციები. 1404 01:10:55,900 --> 01:10:58,250 რადგან მაშინ შეგიძლიათ ლოკალიზება, სადაც თქვენი პრობლემები ერთგვარი არიან. 1405 01:10:58,250 --> 01:11:00,910 1406 01:11:00,910 --> 01:11:02,160 რაიმე შეკითხვა? 1407 01:11:02,160 --> 01:11:04,200 1408 01:11:04,200 --> 01:11:06,540 >> ასე რომ, კიდევ ერთი იდეა არის აბსტრაქცია, არა? 1409 01:11:06,540 --> 01:11:07,390 ეს შავი ყუთი. 1410 01:11:07,390 --> 01:11:11,360 Like იცით რა GetInt აკეთებს მიიღოს შეიტანენ მომხმარებელი? 1411 01:11:11,360 --> 01:11:12,510 ჩვენ ნამდვილად არ გითხარით, არა? 1412 01:11:12,510 --> 01:11:15,670 ყველა ჩვენ გითხარით არის GetInt აკეთებს ზუსტად რა წერია ეს ასეა. 1413 01:11:15,670 --> 01:11:18,440 ისე კი, თუ ჩვენ არ გეტყვით, რამდენად მუშაობს, თქვენ მაინც იცით. 1414 01:11:18,440 --> 01:11:21,670 >> ასე რომ, ამ შემთხვევაში, ეს არის quadruple ფუნქცია, რომელიც აკეთებს 1415 01:11:21,670 --> 01:11:24,520 სხვადასხვა რამ შეყვანის წარმოების გამომავალი. 1416 01:11:24,520 --> 01:11:28,050 და თქვენ შეგიძლიათ quadruple ნომერი გამრავლებით იგი ოთხ. 1417 01:11:28,050 --> 01:11:30,790 ან თქვენ შეგიძლიათ, რაც ჩვენ მოვუწოდებთ ცოტა გადაიტანოს ეს ორი. 1418 01:11:30,790 --> 01:11:32,960 და ჩვენ დაფარავს ამ ცოტა მოგვიანებით. 1419 01:11:32,960 --> 01:11:36,570 და არ უნდა იცოდეს, თუ როგორ ეს ფუნქცია რეალურად მუშაობს, რადგან ეს 1420 01:11:36,570 --> 01:11:37,640 მუშაობს როგორც განაცხადა. 1421 01:11:37,640 --> 01:11:40,740 >> ასე რომ, ქვეშ Hood, მე შეიძლება იყოს როგორიცაა, დაბრუნდნენ შეყვანის ჯერ 1422 01:11:40,740 --> 01:11:41,690 რვა იყოფა ორ. 1423 01:11:41,690 --> 01:11:42,510 და თქვენ არ იცით, არა? 1424 01:11:42,510 --> 01:11:44,970 ყველა თქვენ უნდა იცოდეთ არის ეს იმას თუ რას ამბობს. 1425 01:11:44,970 --> 01:11:48,070 ასე რომ სასარგებლო რამ შესახებ აბსტრაქცია. 1426 01:11:48,070 --> 01:11:52,910 >> და კიდევ ერთი რამ არის ერთგვარი ამ იდეის საქართველოს ლოკალიზებას თქვენი კოდი ერთ 1427 01:11:52,910 --> 01:11:54,280 კერძოდ მონაკვეთზე. 1428 01:11:54,280 --> 01:11:57,450 ასე რომ, თუ თქვენ გაქვთ პრობლემა, თქვენ არ უნდა წავიდეს მთელი თქვენი კოდი ცდილობს 1429 01:11:57,450 --> 01:11:58,730 დაფიქსირება, სადაც პრობლემა იყო. 1430 01:11:58,730 --> 01:12:00,990 ასე რომ, ამ შემთხვევაში, მე განხორციელდა Cube არასწორია. 1431 01:12:00,990 --> 01:12:02,820 მეგონა კუბი იყო გამრავლებით სამი. 1432 01:12:02,820 --> 01:12:05,760 >> ასე რომ, ამ შემთხვევაში, ეს არის ერთი პროგრამა რომ უბრალოდ არ გამრავლებით სამი 1433 01:12:05,760 --> 01:12:06,750 ყველგან. 1434 01:12:06,750 --> 01:12:10,910 და არის კიდევ ერთი პროგრამა, რომელიც factored cube შევიდა ფუნქცია. 1435 01:12:10,910 --> 01:12:14,040 და ახლა თუ მინდა დაფიქსირება ჩემი შეცდომა აქ, მე უნდა დააფიქსიროს თითოეული ხაზი 1436 01:12:14,040 --> 01:12:15,620 კოდი ამ პროგრამაში. 1437 01:12:15,620 --> 01:12:19,190 ხოლო მეორეს მხრივ, თუ გამოვიყენო ფუნქცია, მე მხოლოდ უნდა შეიცვალოს 1438 01:12:19,190 --> 01:12:20,650 რა იყო არასწორი ერთ ადგილას. 1439 01:12:20,650 --> 01:12:25,330 1440 01:12:25,330 --> 01:12:28,730 >> ასე რომ, კომპიუტერულ მეცნიერებაში, ჩვენ დარეკეთ საშუალებებით და შედეგები. 1441 01:12:28,730 --> 01:12:31,640 პორტები უწოდებენ პარამეტრების ან არგუმენტები, და შედეგები უწოდებენ 1442 01:12:31,640 --> 01:12:32,950 დაბრუნების ღირებულებებს. 1443 01:12:32,950 --> 01:12:39,000 და ვნახავთ, თუ როგორ ეს გვეხმარება სახის საქართველოს განსაზღვრავს ფუნქცია მეორე. 1444 01:12:39,000 --> 01:12:41,430 ასე რომ, ეს არის ფუნქცია განმარტება განთავსების cubing. 1445 01:12:41,430 --> 01:12:45,110 ასე რომ, ეს იღებს შეყვანის და შემდეგ ის დააბრუნებს, რომ ნომერი ჯერ 1446 01:12:45,110 --> 01:12:47,020 თავად სამჯერ. 1447 01:12:47,020 --> 01:12:48,020 მოდით დაარღვიოს ეს ქვემოთ. 1448 01:12:48,020 --> 01:12:53,090 >> ამიტომ ჩვენ გვაქვს ფუნქცია header, რომელიც ძირითადად შედგება სამი რამ. 1449 01:12:53,090 --> 01:12:56,050 ასე რომ, ჩვენ პარამეტრების, რომელიც არიან, როგორც ვთქვი, 1450 01:12:56,050 --> 01:12:57,680 საშუალებებით ამ ფუნქციას. 1451 01:12:57,680 --> 01:12:59,300 და მაშინ ჩვენ მისცეს ფუნქციის სახელი. 1452 01:12:59,300 --> 01:13:00,740 ამ შემთხვევაში, ეს ე.წ. კუბი. 1453 01:13:00,740 --> 01:13:03,860 და მაშინ ჩვენ დააკონკრეტა, თუ რა ტიპის დაბრუნების ღირებულება. 1454 01:13:03,860 --> 01:13:06,760 >> ასე რომ, ამ შემთხვევაში, ჩემი კუბი ფუნქცია იღებს რიცხვი და ასევე 1455 01:13:06,760 --> 01:13:07,890 ბრუნდება რიცხვი. 1456 01:13:07,890 --> 01:13:11,510 ასე რომ, თუ მე გაივლის ორ, ორი რიცხვი, ის დააბრუნებს რვა ჩემთვის, რომელიც 1457 01:13:11,510 --> 01:13:13,250 არის მთელი რიცხვი. 1458 01:13:13,250 --> 01:13:15,420 ასე რომ, დაბრუნების ტიპის სახელწოდება პარამეტრები. 1459 01:13:15,420 --> 01:13:16,670 კითხვები რომ? 1460 01:13:16,670 --> 01:13:19,440 1461 01:13:19,440 --> 01:13:24,230 >> და შემდეგ დაბრუნების ღირებულება ფაქტიურად მითითებული დასასრულს განაცხადა დაბრუნება 1462 01:13:24,230 --> 01:13:27,540 და შემდეგ დაბრუნების რასაც შეიცავს დაბრუნების ღირებულება. 1463 01:13:27,540 --> 01:13:30,940 ასე რომ, ამ შემთხვევაში, თუ ჩვენ ეს ყველაფერი ერთად, ფუნქცია იღებს 1464 01:13:30,940 --> 01:13:35,100 პარამეტრების, ეს ე.წ. რაღაც, და ის დააბრუნებს, რომ რაღაც ტიპის 1465 01:13:35,100 --> 01:13:36,350 რომ ჩვენ ვამბობთ, ის იქნება. 1466 01:13:36,350 --> 01:13:39,830 1467 01:13:39,830 --> 01:13:41,080 რაიმე შეკითხვა? 1468 01:13:41,080 --> 01:13:43,710 1469 01:13:43,710 --> 01:13:45,080 >> ასე როგორ უნდა გამოიყენოთ ფუნქცია? 1470 01:13:45,080 --> 01:13:49,230 ისე, ჩვენ წერენ ფუნქცია და შემდეგ ჩვენ ვიყენებთ მას ჩვენი პროგრამა, არა? 1471 01:13:49,230 --> 01:13:51,565 ასე რომ, მე მას კუბი, და მაშინ შემიძლია კუბი. 1472 01:13:51,565 --> 01:13:54,200 >> მაგრამ რა უნდა აღინიშნოს, ის არის, რომ იმისათვის საკითხებზე. 1473 01:13:54,200 --> 01:13:58,100 თუ მაქვს cube ქვემოთ ძირითადი, ეს აპირებს გადაეყარონ კუბი. 1474 01:13:58,100 --> 01:14:00,360 და ამ ეტაპზე, არაფერი მოუწოდა კუბი პროგრამაში, და ეს 1475 01:14:00,360 --> 01:14:02,550 უბრალოდ იქნება, როგორიც, მაქვს არ ვიცი, რა კუბი არის. 1476 01:14:02,550 --> 01:14:05,060 >> ასე რომ გეტყვით, დაფარული დეკლარაცია ფუნქცია. 1477 01:14:05,060 --> 01:14:06,690 ეს არის ის შეცდომა, რომელიც აჩვენებს მდე. 1478 01:14:06,690 --> 01:14:10,230 და ა.შ. ამ შემთხვევაში, კუბი არის ქვემოთ მთავარი, ასე რომ ის არ აპირებს 1479 01:14:10,230 --> 01:14:12,006 უნდა იცოდეს ამის შესახებ. 1480 01:14:12,006 --> 01:14:14,724 >> დინამიკები 5: So მთავარი ჩვეულებრივ უკანასკნელი ფუნქცია განსაზღვრული? 1481 01:14:14,724 --> 01:14:17,290 >> JOSEPH: ასე რომ, კითხვა, ძირითადი წესი ბოლო 1482 01:14:17,290 --> 01:14:18,170 რამ, რომ ნეტავ განსაზღვროს? 1483 01:14:18,170 --> 01:14:19,730 და არა. 1484 01:14:19,730 --> 01:14:22,280 ეს იმიტომ, რომ ჩვენ, როგორც წესი, მოსწონთ მთავარი უნდა იყოს ზედა, არა? 1485 01:14:22,280 --> 01:14:24,640 იმიტომ, რომ პირველი, რაც თქვენ მინდა პროგრამისტი გახსნის 1486 01:14:24,640 --> 01:14:25,640 პროგრამა ვხედავ. 1487 01:14:25,640 --> 01:14:29,950 და ა.შ. როგორ უნდა გადაწყვიტოს ეს საკითხი ჩვენ მინდა ძირითად იყოს ზედა, მაგრამ 1488 01:14:29,950 --> 01:14:33,750 ფუნქციებს, რომ ჩვენ გვინდა, ჩვენ გვინდა, ქვემოთ მთავარ ამჟამად შეძლებთ გამოიყენოთ 1489 01:14:33,750 --> 01:14:34,930 მათ შიგნით ძირითადი? 1490 01:14:34,930 --> 01:14:36,870 >> ასევე, ვიყენებთ, რაც ჩვენ მოვუწოდებთ ფუნქციის პროტოტიპი. 1491 01:14:36,870 --> 01:14:40,830 ასე რომ, რა ფუნქცია პროტოტიპი არსებითად არის იგი პირველი იღებს რა 1492 01:14:40,830 --> 01:14:45,060 ხელმოწერის ან ფუნქცია header რა გვინდა განხორციელება ქვემოთ 1493 01:14:45,060 --> 01:14:47,420 აქ, და ჩვენ მას ზედა პროგრამა. 1494 01:14:47,420 --> 01:14:51,400 >> ასე რომ, ამ შემთხვევაში, ჩვენ ვამბობთ, რომ, ასევე, მოგვიანებით ჩვენი პროგრამა, ჩვენ ვაპირებთ 1495 01:14:51,400 --> 01:14:55,010 რათა დაპირებას შევასრულებთ ფუნქცია მოუწოდა int cube, რომელიც იღებს 1496 01:14:55,010 --> 01:14:56,260 მთელი შეყვანა. 1497 01:14:56,260 --> 01:15:00,870 ახლა, რადგან ეს არის ზემოთ ძირითადი, მთავარი, ის აპირებს ვთქვა, oh, ასევე, 1498 01:15:00,870 --> 01:15:03,910 მოგვიანებით, პროგრამა, რომელიც იქნება ასე შემიძლია ეხება, ასე რომ მე გამოგიგზავნით 1499 01:15:03,910 --> 01:15:05,230 უბრალოდ ასეც გადის ახლა. 1500 01:15:05,230 --> 01:15:07,660 >> და შემდეგ ბოლოში, ჩვენ განხორციელება კუბი. 1501 01:15:07,660 --> 01:15:11,180 და მერე მთავარი იქნება უბრალოდ, ვამბობთ, ასევე, ეს იქნება დასალაგებლად of ლინკი 1502 01:15:11,180 --> 01:15:12,250 ეს ორი სიმბოლო ერთად. 1503 01:15:12,250 --> 01:15:14,320 და ჩვენ დაფარავს რა, რომ ნიშნავს მოგვიანებით. 1504 01:15:14,320 --> 01:15:17,090 და ასე რომ თქვენ იცით, რომ ეს არის კუბი ფუნქცია რომ უნდა გამოიყენოთ. 1505 01:15:17,090 --> 01:15:19,630 1506 01:15:19,630 --> 01:15:23,383 >> ROB: [INAUDIBLE] დაახლოებით სურვილს მთავარი ბოლოში ან 1507 01:15:23,383 --> 01:15:24,880 თავზე, მე ვნახე ორივე. 1508 01:15:24,880 --> 01:15:28,630 არსებობს რამ, რომ უბრალოდ მინდა დააყენოს ძირითად ბოლოში. 1509 01:15:28,630 --> 01:15:32,520 მაგრამ ერთხელ პროექტის იღებს განსაკუთრებით დიდი, როგორც წესი, მთავარი არის 1510 01:15:32,520 --> 01:15:34,290 წარადგინოს ყველა საკუთარი. 1511 01:15:34,290 --> 01:15:38,170 და იმ ეტაპზე, ისევე როგორც int cube ხაზი - 1512 01:15:38,170 --> 01:15:42,460 შიგნით stdio.h არის bunch ხაზები ისევე, რომ int 1513 01:15:42,460 --> 01:15:44,010 cube int input ონლაინ. 1514 01:15:44,010 --> 01:15:50,170 >> და ისე იმ პროტოტიპები რამ ტენდენცია შევიდა header ფაილი at 1515 01:15:50,170 --> 01:15:52,140 სადაც წერტილი, მნიშვნელობა არ აქვს. 1516 01:15:52,140 --> 01:15:54,700 ისე, ეს არ აქვს. 1517 01:15:54,700 --> 01:15:56,070 იმ ყოველთვის ზედა. 1518 01:15:56,070 --> 01:15:59,490 და თუ მთავარი არ არის ფაილი ყველა საკუთარი, თქვენ არ უნდა ფიქრი აყენებს 1519 01:15:59,490 --> 01:16:02,360 ინდივიდუალური ფუნქცია პროტოტიპები ფაილი. 1520 01:16:02,360 --> 01:16:05,370 >> JOSEPH: და ჩვენ კიდევ, რომ პატარა ცოტა მოგვიანებით, როცა Rob იწყებს საუბარს 1521 01:16:05,370 --> 01:16:06,380 დაახლოებით შედგენა. 1522 01:16:06,380 --> 01:16:09,480 და ა.შ. არსებობს ასევე სხვაობა შორის პარამეტრი და არგუმენტი. 1523 01:16:09,480 --> 01:16:12,500 და პარამეტრი არის მხოლოდ ის, რაც ჩვენ მოვუწოდებთ ამ საშუალებებით როდესაც 1524 01:16:12,500 --> 01:16:13,820 ჩვენ განვსაზღვროთ ფუნქცია. 1525 01:16:13,820 --> 01:16:16,950 და მოვუწოდებთ ეს არგუმენტი, როდესაც ჩვენ რეალურად გაივლის ის ფუნქცია. 1526 01:16:16,950 --> 01:16:19,600 >> ასე რომ, ამ შემთხვევაში, ეს არის პარამეტრი, როგორც ჩვენ განაცხადა ადრე. 1527 01:16:19,600 --> 01:16:24,130 და როდესაც ჩვენ რეალურად გამოვიყენოთ იქ, კუბი x, მაშინ x თავისთავად 1528 01:16:24,130 --> 01:16:25,910 რაც ჩვენ მოვუწოდებთ არგუმენტი ფუნქცია cube. 1529 01:16:25,910 --> 01:16:28,150 >> ROB: So პარამეტრი არგუმენტაცია - 1530 01:16:28,150 --> 01:16:33,270 არსებობს ეს განსხვავება, ძალიან დაბნეული interchangeably. 1531 01:16:33,270 --> 01:16:37,090 ამ ეტაპზე, ჩემთვის, ის, როგორც ერთი ეს სიტყვები, რომ როდესაც მე ვხედავ მას გარეთ 1532 01:16:37,090 --> 01:16:41,190 ველური, მე ვერ დაეხმარება, მაგრამ მაშინვე თუ არა ისინი იყენებენ მას 1533 01:16:41,190 --> 01:16:44,120 სწორი კონტექსტში, რადგან განსხვავება არის დახვეწილი საკმარისი, რომ უბრალოდ 1534 01:16:44,120 --> 01:16:45,500 ყველას აპირებს - 1535 01:16:45,500 --> 01:16:48,530 მე თითქმის ყოველთვის ვამბობ არგუმენტი მიუხედავად იმისა, რას ვგულისხმობ. 1536 01:16:48,530 --> 01:16:51,230 1537 01:16:51,230 --> 01:16:54,630 >> JOSEPH: და ფუნქციები ასევე სასარგებლო რა ჩვენ მოვუწოდებთ გვერდითი მოვლენები. 1538 01:16:54,630 --> 01:16:59,230 ასე რომ, ფუნქცია, შეუძლია არ საშუალებებით და მას ასევე შეუძლია აწარმოოს არა შედეგები. 1539 01:16:59,230 --> 01:17:03,280 ასე რომ, ამ შემთხვევაში, მე ვარ განსაზღვრის subroutine რომ არ აქვს 1540 01:17:03,280 --> 01:17:03,970 დაბრუნების ღირებულება. 1541 01:17:03,970 --> 01:17:07,730 და იმისათვის, რომ მიუთითოს, რომ, ჩვენ ვიყენებთ რაც ჩვენ მოვუწოდებთ ბათილად აქ. 1542 01:17:07,730 --> 01:17:10,890 ასე რომ გვერდითი ეფექტი ამ ფუნქციის არის ის, რომ უბრალოდ ბეჭდავს პერსონალი 1543 01:17:10,890 --> 01:17:11,920 out გვერდზე. 1544 01:17:11,920 --> 01:17:13,840 ეს ფაქტობრივად არ მიიღოს ნებისმიერი პორტები, და არ 1545 01:17:13,840 --> 01:17:15,360 რეალურად აწარმოოს ნებისმიერი მასალები. 1546 01:17:15,360 --> 01:17:18,230 >> მაგრამ ეს შეიძლება იყოს სასარგებლო იმ გაგებით, თუ გსურთ, მაგალითად, debug 1547 01:17:18,230 --> 01:17:21,530 რაღაც თქვენს პროგრამაში, თუ გსურთ წერენ პატარა subroutine რომ 1548 01:17:21,530 --> 01:17:25,160 ბეჭდავს out, ვთქვათ, შინაარსი მეხსიერების ან რამე. 1549 01:17:25,160 --> 01:17:29,800 და ა.შ. ეს გვერდითი მოვლენები ზოგჯერ სასარგებლო გარეთ კონტექსტში 1550 01:17:29,800 --> 01:17:33,010 უბრალოდ მინდა საშუალებებით და შედეგები. 1551 01:17:33,010 --> 01:17:34,260 რაიმე შეკითხვა? 1552 01:17:34,260 --> 01:17:37,270 1553 01:17:37,270 --> 01:17:44,240 >> და ბოლოში ამ კონკრეტულ სეგმენტში, რას პროგრამა გავაკეთოთ? 1554 01:17:44,240 --> 01:17:47,420 მე მივცემ თქვენ ბიჭები რამდენიმე წამში წაკითხვის საშუალება. 1555 01:17:47,420 --> 01:17:52,720 1556 01:17:52,720 --> 01:17:56,880 ძალიან საბაზისო დონეზე, რაც ჩვენ გვსურს ამბობენ, არის ის, რომ სვოპების x და y, არა? 1557 01:17:56,880 --> 01:18:00,090 >> ასე რომ, რამდენი თქვენგანი რეალურად ვფიქრობ ეს იქნება სვოპ x და y? 1558 01:18:00,090 --> 01:18:02,160 ამაღლება თქვენი მხრივ. 1559 01:18:02,160 --> 01:18:02,760 არავინ. 1560 01:18:02,760 --> 01:18:03,070 OK. 1561 01:18:03,070 --> 01:18:06,720 ვინც ფიქრობს, რომ ეს არ სვოპ x და y? 1562 01:18:06,720 --> 01:18:09,120 და თანხა რომ იყო არა მთელი ოთახი. 1563 01:18:09,120 --> 01:18:10,440 ასე რომ, ზოგიერთი ადამიანი არ ვარ დარწმუნებული. 1564 01:18:10,440 --> 01:18:10,920 OK. 1565 01:18:10,920 --> 01:18:11,630 ეს არის ის გონივრული. 1566 01:18:11,630 --> 01:18:16,450 >> მოდით გავლა რა ხდება, როდესაც თქვენ სინამდვილეში ფუნქციების პირველი 1567 01:18:16,450 --> 01:18:18,320 იმისათვის, რომ ამ კითხვაზე პასუხი. 1568 01:18:18,320 --> 01:18:21,430 ასე რომ, ეს არის ის, რაც მეხსიერების სახის ჰგავს. 1569 01:18:21,430 --> 01:18:23,860 ეს არის ერთგვარი მოსწონს გამარტივებული მოდელი რა მეხსიერების ჰგავს, როდესაც 1570 01:18:23,860 --> 01:18:24,800 თქვენ აწარმოებს პროგრამა. 1571 01:18:24,800 --> 01:18:27,270 ასე რომ არსებობს რაღაც მოუწოდა დასტის ქვემოთ აქ და 1572 01:18:27,270 --> 01:18:28,330 რაღაც მოუწოდა ბევრი. 1573 01:18:28,330 --> 01:18:30,950 და ეს იზრდება მიმართ შუა მეხსიერება. 1574 01:18:30,950 --> 01:18:33,860 >> ასე რომ, ამ კონკრეტულ შემთხვევაში, როდესაც რეკავთ ფუნქცია, მას 1575 01:18:33,860 --> 01:18:35,680 იღებს ჩაიცვი დასტის. 1576 01:18:35,680 --> 01:18:38,900 და მაშინ რასაც შეიცავს, რომ ფუნქცია რჩება, რაც ჩვენ მოვუწოდებთ, რომ 1577 01:18:38,900 --> 01:18:40,550 ფუნქციის დასტის ჩარჩო. 1578 01:18:40,550 --> 01:18:44,500 და ასე მიიღოს ლამაზი ვიზუალიზაცია ამ let's - მაგალითად, ჩვენ გვქონდა 1579 01:18:44,500 --> 01:18:45,960 პროგრამის ძირითადი ადრე. 1580 01:18:45,960 --> 01:18:47,820 და შიგნით ძირითადი, ჩვენ მოუწოდა კუბი. 1581 01:18:47,820 --> 01:18:50,650 ასე რომ, მთავარი, პირველ წასვლა დასტის ვიზრუნოთ, რადგან ეს პირველი ფუნქცია 1582 01:18:50,650 --> 01:18:51,640 რომ უწოდებენ. 1583 01:18:51,640 --> 01:18:55,740 >> და მაშინ, როდესაც cube ეწოდება შიგნით მთავარი, იგი იღებს დააყენა თავზე მთავარი 1584 01:18:55,740 --> 01:18:57,790 შიგნით მეხსიერება. 1585 01:18:57,790 --> 01:19:02,090 ასე რომ, რაც თქვენ შეამჩნევთ აქ ის არის, რომ კუბი აქვს საკუთარი პარამეტრები და მისი 1586 01:19:02,090 --> 01:19:02,950 საკუთარი ადგილობრივები. 1587 01:19:02,950 --> 01:19:06,720 ასე რომ, როდესაც თქვენ რეალურად გაივლის რაღაც ფუნქცია, პარამეტრების, რომ ეს 1588 01:19:06,720 --> 01:19:09,910 იღებს ასლები, თუ რა იყო გავიდა მთავარი. 1589 01:19:09,910 --> 01:19:14,140 >> და სახის ახსნას ამ, მოდით გავლა პროგრამა. 1590 01:19:14,140 --> 01:19:16,960 ამიტომ, ჩვენ უნდა დასტის, ეს არის მხოლოდ დასტის ნაწილი. 1591 01:19:16,960 --> 01:19:21,240 და რას ვაკეთებთ არის ჩვენ პირველი ინიციალიზაცია x და y ერთი და ორი. 1592 01:19:21,240 --> 01:19:22,400 ასე რომ, ჩვენ ამ პატარა ყუთები. 1593 01:19:22,400 --> 01:19:25,310 ისინი სხედან მთავარ მიერ დასტის ვიზრუნოთ Stack. 1594 01:19:25,310 --> 01:19:26,580 ისინი შეიცავენ ერთი და ორი. 1595 01:19:26,580 --> 01:19:28,820 >> ახლა ჩვენ მოვუწოდებთ swap. 1596 01:19:28,820 --> 01:19:33,940 რა ხდება ჩვენ გაივლის x და y შევიდა swap, და swap ქმნის საკუთარი ასლები 1597 01:19:33,940 --> 01:19:36,520 იმ ცვლადების გამოყენება შიგნით მისი დასტის ჩარჩო. 1598 01:19:36,520 --> 01:19:39,920 ახლა იქ, ჩვენ გვაქვს, რომელიც შეიცავს ღირებულება, რომელიც x ჰქონდა და b, 1599 01:19:39,920 --> 01:19:41,620 რომელიც შეიცავს ღირებულება, რომელიც y ჰქონდა. 1600 01:19:41,620 --> 01:19:42,670 ასე რომ, ერთი, ორი. 1601 01:19:42,670 --> 01:19:47,130 >> და თქვენ შეამჩნევთ, რომ ეს არის ცალკე დან x და y შიგნით ძირითადი. 1602 01:19:47,130 --> 01:19:51,390 ასე რომ, ჩვენ ახლა შექმნას დროებითი ცვლადი შეიცავდეს. 1603 01:19:51,390 --> 01:19:56,100 ჩვენ დავსახეთ ტოლია B, ასე რომ იცვლება ერთი ორი. 1604 01:19:56,100 --> 01:19:59,340 და მაშინ ჩვენ მითითებული ბ ტოლია to temp, რომელიც არის ერთ ერთი. 1605 01:19:59,340 --> 01:20:01,640 >> და მაშინ ჩვენ ახლა გაითიშება ამ ფუნქციის. 1606 01:20:01,640 --> 01:20:04,310 1607 01:20:04,310 --> 01:20:07,410 როდესაც გამოხვიდეთ გარეთ ფუნქცია, დასტის ჩარჩო იღებს popped off Stack. 1608 01:20:07,410 --> 01:20:08,270 ჩვენ მოვუწოდებთ მას დააყენებს. 1609 01:20:08,270 --> 01:20:12,750 თქვენ დააყენებს დასტის ჩარჩო გადატანა დასტის და თქვენ პოპ თუ off Stack. 1610 01:20:12,750 --> 01:20:16,080 და ასე შემდეგ რა ხდება, ყველაფერი, სწორედ ამ დასტის ჩარჩო ერთგვარი მხოლოდ 1611 01:20:16,080 --> 01:20:17,280 მიდის up in Flames. 1612 01:20:17,280 --> 01:20:19,180 და ისე, რომ აღარ არსებობს. 1613 01:20:19,180 --> 01:20:20,470 >> მაგრამ რა ვამჩნევთ? 1614 01:20:20,470 --> 01:20:23,690 ჩვენ არასოდეს რეალურად შეიცვალა ღირებულებები x და y, არა? 1615 01:20:23,690 --> 01:20:26,530 ასე რომ იმ დარჩა ადგილობრივი ძირითადი. 1616 01:20:26,530 --> 01:20:29,900 და გავლით რამ შევიდა swap, ჩვენ ფაქტობრივად არ შეცვლილა იმ ღირებულებებს. 1617 01:20:29,900 --> 01:20:31,260 და რა ჩვენ მოვუწოდებთ ამ? 1618 01:20:31,260 --> 01:20:33,040 ჩვენ მოვუწოდებთ ამ ავლით ღირებულება. 1619 01:20:33,040 --> 01:20:36,860 >> ასე რომ, C, როდესაც თქვენ გაივლით რამ შევიდა ფუნქციები, გადის მათ ღირებულება და 1620 01:20:36,860 --> 01:20:40,160 რაც ასლი მათ ფუნქციის გამოყენება. 1621 01:20:40,160 --> 01:20:43,980 და ჩვენ ვისწავლოთ რაღაც მოუწოდა ავლით მინიშნება შემდეგ, მაგრამ ეს 1622 01:20:43,980 --> 01:20:45,390 ისე, თქვენ შეგიძლიათ ამ პრობლემის მოგვარებას. 1623 01:20:45,390 --> 01:20:47,080 მაგრამ ჩვენ არ აღელვებს რომ სანამ მოგვიანებით. 1624 01:20:47,080 --> 01:20:52,200 >> ROB: და ფაქტობრივად, ეს ტერმინი, გავლის მინიშნება, ასე რომ C კი არ აქვს 1625 01:20:52,200 --> 01:20:54,270 ავლით მითითება. 1626 01:20:54,270 --> 01:20:56,760 C ექსკლუზიურად უკვე ავლით ღირებულება. 1627 01:20:56,760 --> 01:20:59,630 არ აქვს მნიშვნელობა, თუ რას აკეთებთ, თქვენ ყოველთვის გავლით ასლი რაღაც. 1628 01:20:59,630 --> 01:21:03,395 უბრალოდ, რომ, როგორც მე სახის აღნიშნა რომ სანამ პოინტერები 1629 01:21:03,395 --> 01:21:07,690 და რომ string მართლაც მხოლოდ ოთხი ბაიტი მიუთითებს ადგილას მეხსიერებაში. 1630 01:21:07,690 --> 01:21:11,890 >> ისე, თუ მაქვს ეს სიმებიანი და ეს მეუბნებოდა, რომ არის, სადაც string - 1631 01:21:11,890 --> 01:21:15,470 ასევე, თუ მაქვს ეს მაჩვენებელი ამ განათავსეთ მეხსიერებაში, მაშინ მე ვერ გაივლის 1632 01:21:15,470 --> 01:21:19,160 ასლი, რომ მომცეთ ფუნქცია და ეს ფუნქცია ჯერ კიდევ არ იცის, სადაც 1633 01:21:19,160 --> 01:21:19,780 მეხსიერების ეს არის. 1634 01:21:19,780 --> 01:21:22,950 ასე რომ, ორივე პოინტერები მიუთითებს იმ ადგილას მეხსიერებაში, და 1635 01:21:22,950 --> 01:21:26,460 ასე ჩვენ ვაპირებთ შეძლებს ცვლილებები რამ მიღმა 1636 01:21:26,460 --> 01:21:29,852 მიმდინარე დასტის ჩარჩო. 1637 01:21:29,852 --> 01:21:31,040 >> JOSEPH: არ გსურთ შედგენა? 1638 01:21:31,040 --> 01:21:31,820 >> ROB: არა, ეს 5:30. 1639 01:21:31,820 --> 01:21:32,910 >> JOSEPH: OK. 1640 01:21:32,910 --> 01:21:35,040 ეს არის 5:30. 1641 01:21:35,040 --> 01:21:35,360 OK. 1642 01:21:35,360 --> 01:21:39,280 ასე რომ, ჩვენ დაფარავს შედგენის ვფიქრობ in მომდევნო მონაკვეთის, ან თქვენი განყოფილებაში 1643 01:21:39,280 --> 01:21:42,795 ლიდერი იმ ეტაპზე. 1644 01:21:42,795 --> 01:21:43,272 და - 1645 01:21:43,272 --> 01:21:44,630 >> ROB: ნებისმიერი კითხვები? 1646 01:21:44,630 --> 01:21:46,760 >> JOSEPH: ნებისმიერი კითხვები? 1647 01:21:46,760 --> 01:21:47,150 დიახ? 1648 01:21:47,150 --> 01:21:52,469 >> დინამიკები 5: გამოყენება strings საწყისი CS50, ნებისმიერი ფუნქციები, რომ ჩვენ გვინდა გამოვიყენოთ 1649 01:21:52,469 --> 01:21:53,880 ის, რომ უნდა იყოს, ისევე როგორც C ფუნქციები. 1650 01:21:53,880 --> 01:21:59,050 CS50 არ წავიდა და რაიმე დამატებით. 1651 01:21:59,050 --> 01:22:01,850 >> ROB: სწორი. 1652 01:22:01,850 --> 01:22:08,155 ნებისმიერ C როგორიცაა [INAUDIBLE] თქვენ რომ გამოიყენოთ ეს ჩვენი სიმები. 1653 01:22:08,155 --> 01:22:12,400 >> JOSEPH: და ერთი ბოლო რამ მინდა ნახსენები არ არის, რომ ჩვენ გვაქვს სტილის სახელმძღვანელო 1654 01:22:12,400 --> 01:22:13,130 ამ კლასში. 1655 01:22:13,130 --> 01:22:13,360 >> ROB: Oh, yeah. 1656 01:22:13,360 --> 01:22:15,270 >> JOSEPH ასე რომ, თუ თქვენ მოდის პროგრამირების ფონზე ადრე, თქვენ 1657 01:22:15,270 --> 01:22:17,750 შესაძლოა გარკვეული კონვენციების, როდესაც თქვენ წერა კოდი მოსწონს აყენებს 1658 01:22:17,750 --> 01:22:20,950 braces იმავე ხაზის ან კონკრეტული გზები indenting 1659 01:22:20,950 --> 01:22:22,240 ან დასახელებისგან თქვენი ცვლადები. 1660 01:22:22,240 --> 01:22:26,870 ამ კლასში, ჩვენ გვინდა, რომ დაიცვას კონკრეტული სტილის სახელმძღვანელო მხოლოდ იმიტომ, 1661 01:22:26,870 --> 01:22:31,100 ასევე, თუ თქვენ გარეთ და იმუშაოს მრეწველობის, თქვენ აპირებთ უნდა ველოდოთ 1662 01:22:31,100 --> 01:22:34,780 დაიცვას სტილის სახელმძღვანელო კომპანია, რომელიც თქვენ წასვლა. 1663 01:22:34,780 --> 01:22:38,040 >> მაგალითად, Facebook ვფიქრობ განსაკუთრებული სახის დასახელებისგან 1664 01:22:38,040 --> 01:22:38,760 კონვენციას. 1665 01:22:38,760 --> 01:22:42,570 და არსებობს განსხვავებები camel გარსაცმები ცვლადები და ისევე, როგორც 1666 01:22:42,570 --> 01:22:44,610 ჰყოფს მათ ტირეებით. 1667 01:22:44,610 --> 01:22:52,170 ასევე, ვფიქრობ, ყველაზე მნიშვნელოვანია, ისევე როგორც მაგალითად, წანაცვლება, არა? 1668 01:22:52,170 --> 01:22:56,440 >> ჩვენ არ curly აფრთხილებს დაიწყება, სადაც მდგომარეობა, და ისინი 1669 01:22:56,440 --> 01:22:57,730 არიან მომდევნო ხაზი. 1670 01:22:57,730 --> 01:23:01,230 და ჩვენ ასევე დააყენა curly აფრთხილებს in მაშინაც კი, თუ ეს მხოლოდ ერთი ხაზი. 1671 01:23:01,230 --> 01:23:06,100 და ბევრი ჯერ, არსებობს გზები, რათა გააკეთოს ეს სადაც შეგიძლიათ დატოვონ ეს აფრთხილებს 1672 01:23:06,100 --> 01:23:08,380 off, თუ ეს მხოლოდ ერთი ხაზი ფარგლებში იმ შემთხვევაში, თუ განცხადებაში. 1673 01:23:08,380 --> 01:23:12,070 მაგრამ ამ კლასის, ჩვენ გვინდა, რომ დაიცვას კონკრეტული სტილის სახელმძღვანელო უბრალოდ ასე რომ თქვენ მიიღოთ 1674 01:23:12,070 --> 01:23:13,550 გამოიყენება, რომ სახის რამ. 1675 01:23:13,550 --> 01:23:16,410 >> ROB: ჰო, და სტილი 50 აპირებს აღასრულოს ამ სტილის სახელმძღვანელო, და ჩვენ 1676 01:23:16,410 --> 01:23:18,080 აპირებს გამოიყენოს სტილი 50 to grade თქვენს კოდი. 1677 01:23:18,080 --> 01:23:25,150 ასე რომ, რაც რამ ადვილია ჩვენთვის და იმედია არ უნდა მიიღოს, რაც 1678 01:23:25,150 --> 01:23:30,120 გაცილებით უარესი თქვენთვის მოცემული სტანდარტული სტილი არ უნდა იყოს, რომ 1679 01:23:30,120 --> 01:23:31,460 არარეალურია. 1680 01:23:31,460 --> 01:23:36,000 >> JOSEPH: და ბოლოს, რათა იპოვოს სტილი პროგრამა, წასვლა manual.cs50.net/style. 1681 01:23:36,000 --> 01:23:37,725 და yeah. 1682 01:23:37,725 --> 01:23:40,575 >> დინამიკები 4: აპირებთ თუ არა აღასრულოს ნებისმიერი სიმბოლო თითო ხაზზე? 1683 01:23:40,575 --> 01:23:42,480 >> ROB: დიახ. 1684 01:23:42,480 --> 01:23:45,405 >> JOSEPH: უკაცრავად, ბიჭები. 1685 01:23:45,405 --> 01:23:47,680 >> ROB: ეს იგივეა, ერთადერთი პირობა. 1686 01:23:47,680 --> 01:23:50,420 ამ ეტაპზე, მე ვარ OK 120. 1687 01:23:50,420 --> 01:23:52,460 მე კარგად განაცხადა, რომ 120 სიმბოლო თითო ხაზზე. 1688 01:23:52,460 --> 01:23:53,830 მე მესმის, იქ მყოფი გარკვეული ლიმიტი. 1689 01:23:53,830 --> 01:23:57,130 მე ვფიქრობ, რომ 80 არის იმდენად მცირე, მაგრამ ჩვენ აღსრულების იგი. 1690 01:23:57,130 --> 01:24:00,260 >> JOSEPH: პირადად მე ვფიქრობ C, 80 სიმბოლო უფრო OK. 1691 01:24:00,260 --> 01:24:04,160 ერთხელ თქვენ დაიწყოს მიღების სხვა ენებს, როგორიცაა JavaScript და PHP, არ 1692 01:24:04,160 --> 01:24:08,860 ასე რომ, გონივრული უბრალოდ ზღუდავს მას 80 სიმბოლო. 1693 01:24:08,860 --> 01:24:09,260 OK. 1694 01:24:09,260 --> 01:24:12,780 ისე, რომ იყო სუპერ მონაკვეთზე. 1695 01:24:12,780 --> 01:24:14,750 ვინმეს გსურთ candy? 1696 01:24:14,750 --> 01:24:16,000 >> დინამიკები 4: დიახ. 1697 01:24:16,000 --> 01:24:18,667