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