1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [סעקשאַן 8 - מער באַקוועם] 2 00:00:02,610 --> 00:00:04,910 [ראָב באָוודען - האַרוואַרד אוניווערסיטעט] 3 00:00:04,910 --> 00:00:07,070 [דאס איז קס50. - CS50.TV] 4 00:00:11,520 --> 00:00:14,160 >> די וואָך אָפּטיילונג הערות זענען געגאנגען צו זייַן שיין קורץ, 5 00:00:14,160 --> 00:00:19,070 אַזוי איך בין נאָר געגאנגען צו האַלטן גערעדט, איר גייז זענען געגאנגען צו האַלטן אַסקינג שאלות, 6 00:00:19,070 --> 00:00:22,720 און מיר וועט פּרובירן צו פּלאָמבירן זיך ווי פיל צייַט ווי מעגלעך. 7 00:00:22,720 --> 00:00:31,950 א פּלאַץ פון מענטשן טראַכטן אַז דאָס פּסעט איז נישט דאַווקע שווער, אָבער עס ס 'זייער לאַנג. 8 00:00:31,950 --> 00:00:37,070 די פּסעט ספּעק זיך נעמט אַ שעה צו לייענען. 9 00:00:40,530 --> 00:00:45,730 מיר געבן איר אַ פּלאַץ פון די סקל איר קען עפשער דאַרפֿן צו נוצן. 10 00:00:45,730 --> 00:00:50,520 מיר גיין איר דורך אַ פּלאַץ פון עס, אַזוי עס זאָל נישט זייַן אויך שלעכט. 11 00:00:50,520 --> 00:00:54,560 האט ווער עס יז אנגעהויבן אָדער פאַרטיק? 12 00:00:55,380 --> 00:00:59,710 עס ס די לעצטע פּסעט. אָה, מיין גאָט. 13 00:00:59,710 --> 00:01:05,400 יוזשאַוואַלי דאָרט ס אַ דזשאַוואַסקריפּט איינער נאָך דעם, אָבער לוח טוישן זאכן 14 00:01:05,400 --> 00:01:09,560 מאכט אַלץ 1 וואָך קירצער, און מיר ניט מער האָבן אַ דזשאַוואַסקריפּט פּסעט. 15 00:01:09,560 --> 00:01:12,310 איך טאָן ניט וויסן ווי אַז אַפעקץ צי דזשאַוואַסקריפּט איז געגאנגען צו דערשייַנען אויף די עקסאַם 16 00:01:12,310 --> 00:01:15,510 אָדער קוויז 1. 17 00:01:15,510 --> 00:01:22,260 איך ימאַדזשאַן עס וועט זייַן עפּעס ווי איר דאַרפֿן צו וויסן הויך-מדרגה זאכן וועגן דזשאַוואַסקריפּט, 18 00:01:22,260 --> 00:01:26,460 אָבער איך צווייפל מיר 'ד נאָר געבן איר גלייַך דזשאַוואַסקריפּט קאָד 19 00:01:26,460 --> 00:01:28,720 זינט איר האָט נישט געהאט אַ פּסעט אין עס. 20 00:01:28,720 --> 00:01:33,000 אבער וואָס וועט זייַן שטאָפּן פֿאַר ויספרעג באריכטן ווייַטער וואָך. 21 00:01:33,000 --> 00:01:36,320 >> אָפּטיילונג פון שאלות. 22 00:01:36,320 --> 00:01:43,870 א פּלאַץ פון דעם שטאָפּן איז עפּעס שוואַך ווערדיד, אָבער מיר וועט דיסקוטירן וואָס. 23 00:01:43,870 --> 00:01:50,220 ניט ענלעך C, פפּ איז אַ "דינאַמיקאַללי-טייפּט" שפּראַך. וואָס טוט דאָס מיינען, איר פרעגן? 24 00:01:50,220 --> 00:01:53,830 געזונט, זאָגן זייַ געזונט צו אַלע פון ​​יענע טשאַר, לאָזנ שווימען, ינט, און אנדערע טערמינען איר דאַרפֿן צו נוצן 25 00:01:53,830 --> 00:01:56,190 ווען דיקלערינג וועריאַבאַלז און פאַנגקשאַנז אין סי 26 00:01:56,190 --> 00:02:00,420 אין פפּ, אַ בייַטעוודיק ס טיפּ איז באשלאסן דורך דעם ווערט אַז עס ס דערווייַל האלטן. 27 00:02:00,420 --> 00:02:04,990 אַזוי איידער מיר דרוקן דעם קאָד אין אַ טעקע גערופן דינאַמיק.פפּ, 28 00:02:04,990 --> 00:02:12,670 פפּ איז דינאַמיקאַללי טייפּט. וואָס איז אמת. 29 00:02:12,670 --> 00:02:17,590 איך דיסאַגרי מיט די פאַקט אַז אַז מיטל מיר רע זאגן זייַ געזונט צו טשאַר, לאָזנ שווימען, ינט, 30 00:02:17,590 --> 00:02:20,620 און אנדערע טערמינען. 31 00:02:20,620 --> 00:02:25,510 די פּינטלעך חילוק צווישן דינאַמיקאַללי טייפּט און דער אָלטערנאַטיוו, 32 00:02:25,510 --> 00:02:32,010 וואָס איז סטאַטיקאַללי טייפּט, איז אַז דינאַמיקאַללי טייפּט, אַלע פון ​​דיין טיפּ קאָנטראָלירונג און שטאָפּן 33 00:02:32,010 --> 00:02:37,350 כאַפּאַנז בייַ לויפן צייַט, וועראַז סטאַטיקאַללי טייפּט עס כאַפּאַנז בייַ צונויפנעמען צייַט. 34 00:02:37,350 --> 00:02:43,030 די וואָרט סטאַטיק אין אַלגעמיין מיינט צו מיינען צונויפנעמען צייַט זאכן. 35 00:02:43,030 --> 00:02:48,170 איך טרעפן דאָרט זענען אנדערע ניצט פֿאַר אים, אָבער אין C ווען איר דערקלערן אַ סטאַטיק בייַטעוודיק, 36 00:02:48,170 --> 00:02:52,650 זייַן סטאָרידזש איז אַלאַקייטיד בייַ צונויפנעמען צייַט. 37 00:02:52,650 --> 00:02:59,260 דאָ, דינאַמיקאַללי טייפּט נאָר מיטל וואָס - 38 00:02:59,260 --> 00:03:04,350 אין C אויב איר פּרובירן צו לייגן אַ שטריקל און אַ ינטעגער, ווען איר צונויפנעמען עס, 39 00:03:04,350 --> 00:03:11,000 עס ס געגאנגען צו באַקלאָגנ זיך ווייַל עס ס געגאנגען צו זאָגן אַז איר קענען נישט לייגן אַ ינט און אַ טייַטל. 40 00:03:11,000 --> 00:03:14,710 עס ס נאָר נישט אַ גילטיק אָפּעראַציע. 41 00:03:14,710 --> 00:03:21,170 וואָס איז אן אנדער זאַך אַז מיר וועט באַקומען צו אין אַ רגע. 42 00:03:21,170 --> 00:03:24,860 אבער אַז סאָרט פון קאָנטראָלירונג, די פאַקט אַז עס קאַמפּליינז בייַ צונויפנעמען צייַט, 43 00:03:24,860 --> 00:03:29,220 איז סטאַטיק טיפּ קאָנטראָלירונג. 44 00:03:29,220 --> 00:03:35,220 עס זענען שפּראַכן ווו איר טאָן ניט דאַרפֿן צו זאָגן טשאַר, לאָזנ שווימען, ינט, און אַלע פון ​​יענע זאכן, 45 00:03:35,220 --> 00:03:40,940 אָבער די שפּראַך קענען דערציילן פון דעם קאָנטעקסט פון דער זאַך וואָס טיפּ עס ס געמיינט צו זייַן, 46 00:03:40,940 --> 00:03:43,980 אָבער עס ס נאָך סטאַטיקאַללי טייפּט. 47 00:03:43,980 --> 00:03:49,000 אַזוי אויב איר נעמען 51, אָקאַמל, איר קיינמאָל דאַרפֿן צו נוצן קיין פון די טייפּס, 48 00:03:49,000 --> 00:03:58,700 אָבער עס נאָך וועט בייַ צונויפנעמען צייַט זאָגן איר קענען ניט טאָן דעם ווייַל איר ניטאָ מיקסינג אַ ינט און אַ שטריקל. 49 00:03:58,700 --> 00:04:05,650 דינאַמיקאַללי טייפּט נאָר מיטל אַז אַמאָל בעשאַס לויפן צייַט איר ניטאָ געגאנגען צו באַקומען אַ קלאָג. 50 00:04:05,650 --> 00:04:13,430 אויב איר האָבן אויך געניצט דזשאַוואַ פריער, אין אַלגעמיין, כּמעט קיין C-טיפּ שפּראַך 51 00:04:13,430 --> 00:04:20,070 איז געגאנגען צו זייַן סטאַטיקאַללי טייפּט, אַזוי C, C + +, דזשאַוואַ, אַלע פון ​​יענע זענען בכלל סטאַטיקאַללי טייפּט. 52 00:04:20,070 --> 00:04:22,910 אין דזשאַוואַ ווען איר צונויפנעמען עפּעס און איר ניטאָ געזאגט 53 00:04:22,910 --> 00:04:26,670 שטריקל s יקוואַלז נייַ עפּעס וואָס איז נישט אַ שטריקל, 54 00:04:26,670 --> 00:04:28,950 אַז ס 'געגאנגען צו באַקלאָגנ זיך ווייַל יענע טייפּס נאָר טאָן ניט גלייַכן אַרויף. 55 00:04:28,950 --> 00:04:31,180 אַז ס 'געגאנגען צו באַקלאָגנ זיך בייַ צונויפנעמען צייַט. 56 00:04:31,180 --> 00:04:36,750 אבער עס אויך האט עטלעכע דינאַמיש צייַט זאכן ווי אויב איר פּרובירן צו וואַרפן עפּעס 57 00:04:36,750 --> 00:04:40,500 צו אַ טיפּ אַז ס מער ספּעציפיש ווי זייַן קראַנט טיפּ, 58 00:04:40,500 --> 00:04:45,610 דאָרט ס 'גאָרנישט עס קענען טאָן אין צונויפנעמען צייַט צו קאָנטראָלירן צי אַז געשטאַלט איז געגאנגען צו מצליח. 59 00:04:45,610 --> 00:04:51,130 דזשאַוואַ אויך האט עטלעכע דינאַמיש טיפּ קאָנטראָלירונג אַז ווי באַלד ווי עס געץ צו אַז שורה פון קאָד 60 00:04:51,130 --> 00:04:54,130 ווען עס ס 'פאקטיש עקסאַקיוטינג, עס ס געגאנגען צו טאָן די געשטאַלט, 61 00:04:54,130 --> 00:04:56,260 טשעק אויב אַז געשטאַלט איז געווען גילטיק אין דער ערשטער אָרט, 62 00:04:56,260 --> 00:04:59,890 און אויב עס איז נישט, דעמאָלט עס ס געגאנגען צו באַקלאָגנ זיך אַז איר האָט אַ פאַרקריפּלט טיפּ. 63 00:04:59,890 --> 00:05:03,200 דינאַמיש טיפּ קאָנטראָלירונג. 64 00:05:03,200 --> 00:05:07,010 טיפּ דעם אין אַ טעקע גערופן דינאַמיק.פפּ. 65 00:05:10,130 --> 00:05:12,380 דינאַמיק.פפּ. 66 00:05:14,580 --> 00:05:17,190 איך וועט אַנזיפּ אַז פאָרמאַטטינג. 67 00:05:18,750 --> 00:05:21,880 מיר האָבן אַ בייַטעוודיק, מיר שטעלן אים צו די ינטעגער 7, 68 00:05:21,880 --> 00:05:27,930 דעמאָלט מיר רע געגאנגען צו דרוקן עס, און% s - 69 00:05:27,930 --> 00:05:32,830 אָה, מיר רע דרוקן דעם טיפּ פון עס, אַזוי געטטיפּע איז געגאנגען צו צוריקקומען דער טיפּ פון די בייַטעוודיק. 70 00:05:32,830 --> 00:05:35,720 מיר רע נאָר דרוקן דעם טיפּ איבער און איבער ווידער. 71 00:05:35,720 --> 00:05:39,440 מיר נאָר פפּ.דינאַמיק.פפּ. 72 00:05:39,440 --> 00:05:45,920 מיר וועט זען אַז עס ענדערונגען פון ינטעגער צו שטריקל צו בוליאַן ווי מיר גיין דורך. 73 00:05:45,920 --> 00:05:54,590 אין C עס איז קיין בוליאַן דאַטן טיפּ, עס איז קיין שטריקל דאַטן טיפּ. 74 00:05:54,590 --> 00:06:00,500 עס ס טשאַר * און בוליאַן נאָר טענדז צו זייַן ינט אָדער טשאַר אָדער עפּעס. 75 00:06:00,500 --> 00:06:05,690 אין פפּ די טייפּס טאָן עקזיסטירן, און אַז ס איינער פון די גרויס אַדוואַנטאַגעס פון פפּ איבער C - 76 00:06:05,690 --> 00:06:13,290 אַז שטריקל אַפּעריישאַנז זענען ינפאַנאַטלי גרינגער אין פפּ ווי סי זיי נאָר אַרבעטן. 77 00:06:13,290 --> 00:06:18,290 >> אַזוי מיר קומען צוריק דאָ. 78 00:06:18,290 --> 00:06:21,260 מיר געלאפן דינאַמיק.פפּ. 79 00:06:21,260 --> 00:06:26,710 דאס דערציילט די פפּ יבערזעצער, גערופן פפּ, צו לויפן די פפּ קאָד אין דינאַמיק.פפּ. 80 00:06:26,710 --> 00:06:30,250 אויב איר האָט קיין ערראָרס אין די טעקע, די יבערזעצער וועט זאָגן איר! 81 00:06:30,250 --> 00:06:39,110 די יבערזעצער, דאָס איז אן אנדער גרויס חילוק צווישן פפּ און סי 82 00:06:39,110 --> 00:06:48,200 אין C איר האָבן צו צונויפנעמען עפּעס און דאַן איר לויפן אַז צונויפגעשטעלט טעקע. 83 00:06:48,200 --> 00:06:50,490 אין פפּ איר קיינמאָל צונויפנעמען עפּעס. 84 00:06:50,490 --> 00:06:57,200 אַזוי די פפּ יבערזעצער איז בייסיקלי נאָר לייענען דעם שורה ביי שורה. 85 00:06:57,200 --> 00:07:02,900 עס היץ וואַר = 7 דעמאָלט עס היץ פּרינטף דעמאָלט עס היץ וואַר דעמאָלט עס היץ פּרינטף און אַזוי אויף. 86 00:07:02,900 --> 00:07:10,910 עס איז אַ ביסל פון קאַמפּיילינג עס טוט, און עס קאַטשעס די רעזולטאַטן 87 00:07:10,910 --> 00:07:15,510 אַזוי אויב איר לויפן די שריפט שפּעטער איר קענען טאָן עטלעכע, 88 00:07:15,510 --> 00:07:19,280 אָבער בייסיקלי עס ס אַ שורה ביי שורה סאָרט פון זאַך. 89 00:07:19,280 --> 00:07:25,280 אַז מיטל וואָס אַ פּלאַץ פון די אָפּטימיזאַטיאָנס אַז מיר באַקומען אין C, 90 00:07:25,280 --> 00:07:31,920 ווי קאַמפּיילינג, עס ס נאָר בכלל דער קאַמפּיילער קענען טאָן אַ פּלאַץ פון טריקס פֿאַר איר. 91 00:07:31,920 --> 00:07:36,110 עס קענען נעמען אויס אַניוזד וועריאַבאַלז, עס קענען טאָן אַלע פון ​​די סאָרץ פון זאכן, 92 00:07:36,110 --> 00:07:38,660 עס קענען טאָן עק רעקורסיאָן. 93 00:07:38,660 --> 00:07:42,550 אין פפּ איר ניטאָ ניט געגאנגען צו באַקומען אַז מייַלע 94 00:07:42,550 --> 00:07:45,690 ווייַל עס ס נאָר געגאנגען צו אָנהייבן עקסאַקיוטינג שורה ביי שורה ביי שורה, 95 00:07:45,690 --> 00:07:49,950 און עס טוט ניט טאַקע דערקענען די זאכן ווי לייכט 96 00:07:49,950 --> 00:07:54,440 זינט עס ס ניט 1 גרויס זאַמלונג פאָרן איבער די זאַך און דעמאָלט דורכפירונג; 97 00:07:54,440 --> 00:07:56,860 עס ס נאָר שורה ביי שורה. 98 00:08:00,730 --> 00:08:02,750 אַזוי אַז ס די יבערזעצער. 99 00:08:02,750 --> 00:08:06,840 >> צוריק צו אונדזער דינאַמיש טייפּינג: שיין קיל, האַ? 100 00:08:06,840 --> 00:08:08,640 איר באשטימט קען נישט טאָן אַז אין C! 101 00:08:08,640 --> 00:08:11,860 איצט, זען אויב איר קענען רעכענען אויס דעם טיפּ פון יעדער פון די פאלגענדע וואַלועס. 102 00:08:11,860 --> 00:08:14,760 זען דעם פֿאַר דערמאָנען. 103 00:08:14,760 --> 00:08:19,420 אַזוי 3.50. וואָס טיפּ טאָן איר טראַכטן אַז ס 'געגאנגען צו זייַן? 104 00:08:24,480 --> 00:08:26,370 דאָ זענען די טייפּס מיר האָבן. 105 00:08:26,370 --> 00:08:30,430 מיר האָבן באָאָלס, ינטאַדזשערז, פלאָוטינג ווייזט, סטרינגס, ערייז, אַבדזשעקס, 106 00:08:30,430 --> 00:08:38,370 און דעמאָלט רעסורסן, וואָס איז מין פון ווייג. 107 00:08:38,370 --> 00:08:41,010 איך טראַכטן דאָרט ס 'פאקטיש אַ בייַשפּיל דאָ. 108 00:08:41,010 --> 00:08:43,740 דעמאָלט דאָרט ס נאַל. נאַל איז אַ ספּעציעל טיפּ. 109 00:08:43,740 --> 00:08:47,140 ניט ענלעך C ווו נאַל איז נאָר אַ טייַטל מיט אַדרעס 0, 110 00:08:47,140 --> 00:08:54,930 אין פפּ, נאַל איז זייַן אייגן טיפּ ווו די בלויז גילטיק זאַך פון וואָס טיפּ איז נאַל. 111 00:08:57,560 --> 00:09:00,670 דאס איז פיל מער נוצלעך פֿאַר טעות קאָנטראָלירונג. 112 00:09:00,670 --> 00:09:04,310 אין C ווו מיר האט דאָס אַרויסגעבן ווו אויב איר צוריקקומען נאַל, 113 00:09:04,310 --> 00:09:08,660 טוט וואָס מיינען איר ניטאָ אומגעקערט אַ נאַל טייַטל אָדער ניצן נאַל צו באַטייַטן טעות 114 00:09:08,660 --> 00:09:12,380 אָדער אַלע פון ​​וואָס צעמישונג מיר האט אין איין פונט. 115 00:09:12,380 --> 00:09:18,440 דאָ, אומגעקערט נאַל בכלל מיטל טעות. 116 00:09:20,860 --> 00:09:27,300 א פּלאַץ פון זאכן אויך צוריקקומען פאַלש פֿאַר טעות. 117 00:09:27,300 --> 00:09:33,140 אבער די פונט איז דער נאַל טיפּ, דער נאָר זאַך פון די נאַל טיפּ איז נאַל. 118 00:09:33,140 --> 00:09:40,090 דעמאָלט קאַללבאַקק איז ווי איר קענען דעפינירן עטלעכע אַנאָנימאָוס פאַנגקשאַנז. 119 00:09:40,090 --> 00:09:46,420 איר טאָן ניט האָבן צו געבן די פֿונקציע אַ נאָמען, אָבער איר וועט נישט האָבן צו האַנדלען מיט וואָס דאָ. 120 00:09:46,420 --> 00:09:53,940 קוקן בייַ די טייפּס אַז זיי טאָן דערוואַרטן אונדז צו וויסן, 121 00:09:53,940 --> 00:09:59,000 וואָס טאָן איר טראַכטן דעם טיפּ פון 3.50 איז? >> [תּלמיד] פלאָוט. 122 00:09:59,000 --> 00:10:00,370 יאָ. 123 00:10:00,370 --> 00:10:06,290 אַזוי דעמאָלט דאָ, וואָס טאָן איר טראַכטן דעם טיפּ פון דעם איז? >> [תּלמיד] Array. 124 00:10:06,290 --> 00:10:09,890 יאָ. דער ערשטער איינער איז געווען לאָזנ שווימען, די רגע איינער איז אַ מענגע. 125 00:10:09,890 --> 00:10:14,500 נאָטיץ אַז דעם מענגע איז ניט ווי אַ C מענגע 126 00:10:14,500 --> 00:10:19,610 ווו איר האָבן אינדעקס 0 האט עטלעכע ווערט, אינדעקס 1 האט עטלעכע ווערט. 127 00:10:19,610 --> 00:10:26,320 דאָ די ינדיסעס ביסט אַ, ב, און C און די וואַלועס ביסט 1, 2, און 3. 128 00:10:26,320 --> 00:10:33,980 אין פפּ עס איז קיין חילוק צווישן אַ אַססאָסיאַטיווע מענגע און נאָר אַ רעגולער מענגע 129 00:10:33,980 --> 00:10:36,740 ווי איר וואָלט טראַכטן פון אים אין סי 130 00:10:36,740 --> 00:10:43,040 עס איז נאָר דאָס, און ונטער דער קאַפּטער אַ רעגולער מענגע איז נאָר אַ אַססאָסיאַטיווע מענגע 131 00:10:43,040 --> 00:10:50,000 ווו 0 מאַפּס צו עטלעכע ווערט די זעלבע וועג אַ מאַפּס צו עטלעכע ווערט. 132 00:10:50,000 --> 00:11:00,410 פֿאַר דעם סיבה, פפּ קענען זייַן שיין שלעכט פֿאַר טאַקע שנעל קאָד / בענטשמאַרקינג זאכן 133 00:11:00,410 --> 00:11:07,930 זינט אין C ווען איר ניטאָ ניצן אַ מענגע איר וויסן אַז אַקסעסינג אַ מיטגליד איז קעסיידערדיק צייַט. 134 00:11:07,930 --> 00:11:11,860 אין פפּ אַקסעסינג אַ מיטגליד איז ווער ווייסט ווי פיל צייַט? 135 00:11:11,860 --> 00:11:18,970 עס ס מיסטאָמע קעסיידערדיק אויב עס כאַשאַז ריכטיק. 136 00:11:18,970 --> 00:11:21,620 ווער ווייסט וואָס עס ס טאַקע טאן ונטער דער קאַפּטער? 137 00:11:21,620 --> 00:11:25,600 איר טאַקע דאַרפֿן צו קוקן בייַ די ימפּלאַמענטיישאַן צו זען ווי עס ס געגאנגען צו האַנדלען מיט וואָס. 138 00:11:25,600 --> 00:11:28,550 אַזוי דעמאָלט פאָפּען. 139 00:11:28,550 --> 00:11:36,420 איך טראַכטן דאָ לאָזן ס נאָר פפּ מאַנואַל פאָפּען צו קוקן בייַ די צוריקקומען טיפּ. 140 00:11:36,420 --> 00:11:41,260 מיר זען דאָ איר קענען קוקן אַרויף שיין פיל קיין פונקציאָנירן אין די פפּ מאַנואַל 141 00:11:41,260 --> 00:11:47,540 און דאָס איז סאָרט פון די מענטש בלאַט פון פפּ. 142 00:11:47,540 --> 00:11:51,060 די צוריקקומען טיפּ איז געגאנגען צו זייַן מיטל. 143 00:11:51,060 --> 00:11:56,050 אַז ס וואָס איך געקוקט עס אַרויף, ווייַל מיר האט ניט טאַקע דעפינירן מיטל. 144 00:11:56,050 --> 00:12:04,110 דער געדאַנק פון מיטל, אין C איר מין פון גאַט אַ טעקע * אָדער וועלכער; 145 00:12:04,110 --> 00:12:07,200 אין פפּ די מיטל איז דיין טעקע *. 146 00:12:07,200 --> 00:12:10,360 עס ס וואָס איר ניטאָ געגאנגען צו זייַן לייענען פון, עס ס וואָס איר ניטאָ געגאנגען צו זייַן שרייבן צו. 147 00:12:10,360 --> 00:12:20,710 עס ס יוזשאַוואַלי פונדרויסנדיק, אַזוי עס ס אַ מיטל איר קענען ציען זאכן פון און וואַרפן דאס צו. 148 00:12:20,710 --> 00:12:26,520 און לעסאָף, וואָס איז דער טיפּ פון נאַל? >> [תּלמיד] נאַל. 149 00:12:26,520 --> 00:12:30,650 יאָ. אַזוי דער בלויז זאַך וואָס איז נאַל איז נאַל. 150 00:12:30,650 --> 00:12:33,480 נאַל איז נאַל. 151 00:12:35,490 --> 00:12:41,170 >> איין שטריך פון פפּ ס טיפּ סיסטעם (פֿאַר בעסער אָדער פֿאַר ערגער) איז זייַן פיייקייַט צו דזשאַגאַל טייפּס. 152 00:12:41,170 --> 00:12:44,390 ווען איר שרייַבן אַ שורה פון פפּ קאָד וואָס קאַמביינז וואַלועס פון פאַרשידענע טייפּס, 153 00:12:44,390 --> 00:12:46,670 פפּ וועט פּרובירן צו טאָן די פיליק זאַך. 154 00:12:46,670 --> 00:12:48,920 פרובירט אויס יעדער פון די פאלגענדע שורות פון פפּ קאָד. וואָס ס געדרוקט אויס? 155 00:12:48,920 --> 00:12:51,000 איז עס וואָס איר דערוואַרט? פארוואס אָדער וואָס נישט? 156 00:12:51,000 --> 00:12:58,600 דעם פאַקט וועגן פפּ איז וואָס מאכט עס וואָס מיר רופן וויקלי טייפּט. 157 00:12:58,600 --> 00:13:04,610 וויקלי טייפּט און שטארק טייפּט, 158 00:13:04,610 --> 00:13:06,840 עס זענען פאַרשידענע ניצט פֿאַר יענע תּנאָים, 159 00:13:06,840 --> 00:13:12,020 אָבער רובֿ מענטשן נוצן וויקלי טייפּט און שטארק טייפּט צו מיינען דעם סאָרט פון זאַך 160 00:13:12,020 --> 00:13:15,920 ווו ("1" + 2); וואָס אַרבעט. 161 00:13:15,920 --> 00:13:18,290 אין C וואָס וואָלט נישט אַרבעטן. 162 00:13:18,290 --> 00:13:22,490 איר קענען ימאַדזשאַן דעם נישט ארבעטן. 163 00:13:22,490 --> 00:13:29,200 א פּלאַץ פון מענטשן מישן אַרויף דינאַמיש טייפּינג און שוואַך טייפּינג און סטאַטיק טייפּינג און שטאַרק טייפּינג. 164 00:13:29,200 --> 00:13:34,050 פּיטהאָן איז אן אנדער בייַשפּיל פון אַ שפּראַך וואָס ס דינאַמיקאַללי טייפּט. 165 00:13:34,050 --> 00:13:41,770 איר קענען וואַרפן אַרום טייפּס אין וועריאַבאַלז און עס ס געגאנגען צו באַשליסן אין לויפן צייַט 166 00:13:41,770 --> 00:13:44,680 קיין טעות טשעקקינגס. 167 00:13:44,680 --> 00:13:50,740 אין פּיטהאָן עס ס געגאנגען צו ויספירן דעם און עס וועט זען ("1" + 2); 168 00:13:50,740 --> 00:13:55,920 און דאָס וועט פאַרלאָזן ווייַל עס זאגט איר קענען נישט לייגן אַ שטריקל און אַ ינטעגער. 169 00:13:55,920 --> 00:14:00,860 אין פפּ, וואָס איז פּונקט ווי דינאַמיקאַללי טייפּט, דאָס וועט נישט פאַרלאָזן. 170 00:14:00,860 --> 00:14:04,220 שוואַך טייפּינג האט צו טאָן מיט דעם פאַקט אַז עס טוט דאס מיט טייפּס 171 00:14:04,220 --> 00:14:07,800 וואָס טאָן ניט טאַקע מאַכן זינען דאַווקע. 172 00:14:07,800 --> 00:14:17,420 אַזוי ("1" + 2); איך קענען ימאַדזשאַן אַז זייַענדיק די שטריקל 12, איך קענען ימאַדזשאַן עס זייַענדיק די שטריקל 3, 173 00:14:17,420 --> 00:14:20,710 איך קענען ימאַדזשאַן עס זייַענדיק דער ינטעגער 3. 174 00:14:20,710 --> 00:14:24,530 עס ס נישט דאַווקע געזונט דיפיינד, און מיר רע מיסטאָמע געגאנגען צו זען דאָ 175 00:14:24,530 --> 00:14:29,140 אַז ווען מיר דרוקן ("1" + 2); עס ס מיסטאָמע געגאנגען צו סוף אַרויף זייַענדיק אַנדערש 176 00:14:29,140 --> 00:14:32,320 ווי דרוקן (1 + "2"). 177 00:14:32,320 --> 00:14:39,700 און דעם טענדז צו זייַן, אין מיין מיינונג, פֿאַר די ערגער. 178 00:14:39,700 --> 00:14:44,240 דאָ מיר קענען פּרובירן די. 179 00:14:44,240 --> 00:14:48,740 אן אנדער ביסל קונץ וועגן פפּ איז איר טאָן ניט דאַרפֿן צו פאקטיש שרייַבן די טעקע. 180 00:14:48,740 --> 00:14:52,790 עס טוט האָבן לויפן דעם באַפֿעל מאָדע. 181 00:14:52,790 --> 00:14:57,710 אַזוי פפּ-ר, דעריבער מיר קענען וואַרפן אין די באַפֿעל דאָ: 182 00:14:57,710 --> 00:15:06,610 "דרוק ('1 '+ 2);" און איך וועט וואַרפן אַ נייַ שורה. 183 00:15:19,550 --> 00:15:23,970 דאס געדרוקט 3. 184 00:15:31,100 --> 00:15:35,330 עס קוקט ווי עס פּרינץ 3 און עס ס די ינטעגער 3. 185 00:15:35,330 --> 00:15:38,420 אַזוי איצט לאָזן ס פּרובירן די אנדערע וועג אַרום: 186 00:15:38,420 --> 00:15:42,970 "דרוק (1 + '2 '); 187 00:15:45,560 --> 00:15:50,490 מיר באַקומען 3, און איז עס אויך געגאנגען צו זייַן ינטעגער 3? איך האָנעסטלי האָבן קיין געדאַנק. 188 00:15:50,490 --> 00:15:54,030 עס קוקט ווי וואָס איז קאָנסיסטענט. 189 00:15:54,030 --> 00:15:59,550 עס איז קיינמאָל קיין געלעגנהייַט פון עס זייַענדיק די שטריקל 12 אָדער עפּעס ווי אַז 190 00:15:59,550 --> 00:16:08,080 ווייַל פפּ, ניט ענלעך דזשאַוואַסקריפּט און דזשאַוואַ אויך, 191 00:16:08,080 --> 00:16:11,670 האט אַ באַזונדער אָפּעראַטאָר פֿאַר קאַנקאַטאַניישאַן. 192 00:16:11,670 --> 00:16:14,930 קאָנקאַטענאַטיאָן אין פפּ איז פּינטעלע. 193 00:16:14,930 --> 00:16:22,950 אַזוי דרוקן (1. '2 '); איז געגאנגען צו געבן אונדז 12. 194 00:16:25,790 --> 00:16:32,420 דאס טענדז צו פירן צו צעמישונג ווו מען פּרובירן צו טאָן עפּעס ווי Str + = 195 00:16:32,420 --> 00:16:37,840 עטלעכע אנדערע זאַך אַז זיי וועלן צו לייגן אויף צו דעם סוף פון זייער שטריקל, און אַז ס 'געגאנגען צו פאַרלאָזן. 196 00:16:37,840 --> 00:16:40,770 איר דאַרפֿן צו טאָן Str. = 197 00:16:42,000 --> 00:16:46,240 אַזוי טאָן ניט פאַרגעסן קאַנקאַטאַניישאַן אין פפּ איז אַ פּינטעלע. 198 00:16:46,240 --> 00:16:52,100 אנדערע זאכן צו פּרובירן: דרוקן ("קס" + 50); 199 00:16:55,750 --> 00:17:03,610 איך ווע דערציילט איר אַז עס איז ניט האָפֿן פון דעם ריזאַלטינג אין קס50 200 00:17:03,610 --> 00:17:06,119 זינט קאַנקאַטאַניישאַן איז נישט +. 201 00:17:06,119 --> 00:17:08,440 וואָס טאָן איר טראַכטן דעם איז געגאנגען צו סוף אַרויף זייַענדיק? 202 00:17:10,359 --> 00:17:13,460 איך האָנעסטלי האָבן לעגאַמרע קיין געדאַנק. 203 00:17:14,250 --> 00:17:16,460 עס קוקט ווי עס ס נאָר 50. 204 00:17:16,460 --> 00:17:21,490 עס זעט דעם שטריקל, און איך געוועט אויב מיר שטעלן 123קס - 205 00:17:21,490 --> 00:17:29,640 עס זעט דער ערשטער שטריקל, עס פרוווט צו לייענען אַ ינטעגער פון עס אָדער אַ נומער פון עס. 206 00:17:29,640 --> 00:17:31,710 אין דעם פאַל עס זעט 123קס. 207 00:17:31,710 --> 00:17:35,190 "אַז טוט נישט מאַכן זינען ווי אַ ינטעגער, אַזוי איך בין נאָר געגאנגען צו טראַכטן פון 123." 208 00:17:35,190 --> 00:17:38,580 אַזוי 123 + 50 איז געגאנגען צו זייַן 173. 209 00:17:38,580 --> 00:17:40,740 און דאָ עס סטאַרץ לייענען דעם ווי אַ ינטעגער. 210 00:17:40,740 --> 00:17:45,690 עס טוט נישט זען עפּעס, אַזוי עס נאָר טריץ עס ווי 0. אַזוי 0 + 50 איז געגאנגען צו זייַן 50. 211 00:17:45,690 --> 00:17:51,600 דאס איך בין אַסומינג איז געגאנגען צו טאָן עפּעס ענלעך. 212 00:17:51,600 --> 00:17:54,310 איך בין טראכטן 99. 213 00:17:54,310 --> 00:17:57,580 יאָ, ווייַל עס ס געגאנגען צו נעמען דער ערשטער - 214 00:18:12,880 --> 00:18:15,730 אַזוי 99. 215 00:18:15,730 --> 00:18:21,970 דאָ (10/7), אויב דאָס זענען C, וואָס וואָלט אַז צוריקקומען? 216 00:18:23,700 --> 00:18:29,630 [תּלמיד] 1. >> יאָ, עס וואָלט זייַן 1 ווייַל 10/7 איז דיוויידינג 2 ינטאַדזשערז. 217 00:18:29,630 --> 00:18:32,910 אַ ינטעגער צעטיילט דורך אַ ינטעגער איז געגאנגען צו צוריקקומען אַן ינטעגער. 218 00:18:32,910 --> 00:18:37,750 עס קען נישט צוריקקומען 1 פונט וועלכער וואָס וואָלט זייַן, אַזוי עס ס נאָר געגאנגען צו צוריקקומען 1. 219 00:18:37,750 --> 00:18:46,120 דאָ דרוקן (10/7); עס ס געגאנגען צו פאקטיש טייַטשן אַז. 220 00:18:46,120 --> 00:18:53,760 און דעם מיטל אַז אויב איר פאקטיש ווילן צו טאָן ינטעגער ראַונדינג און שטאָפּן ווי אַז, 221 00:18:53,760 --> 00:18:59,950 איר דאַרפֿן צו טאָן דרוקן (שטאָק (10/7)); 222 00:18:59,950 --> 00:19:08,460 אין C עס ס מיסטאָמע טשודנע אַז איר קענען פאַרלאָזנ אויף ינטעגער טראַנגקיישאַן קעסיידער, 223 00:19:08,460 --> 00:19:12,260 אָבער אין פפּ איר קענען נישט ווייַל עס וועט אויטאָמאַטיש קער עס אין אַ לאָזנ שווימען. 224 00:19:13,430 --> 00:19:17,610 און דעמאָלט (7 + אמת); וואָס טאָן איר טראַכטן אַז ס 'געגאנגען צו זייַן? 225 00:19:18,550 --> 00:19:23,640 איך בין געסינג 8 אויב עס ס געגאנגען צו טייַטשן אמת ווי 1. 226 00:19:23,640 --> 00:19:25,740 עס קוקט ווי עס ס 8. 227 00:19:25,740 --> 00:19:31,710 >> אַזוי עפּעס מיר ווע געטאן אין דער פאַרגאַנגענהייַט 10 מינוט איר זאָל לעגאַמרע קיינמאָל טאָן. 228 00:19:31,710 --> 00:19:39,870 איר וועט זען קאָד וואָס טוט דאָס. 229 00:19:39,870 --> 00:19:42,700 עס טוט נישט האָבן צו זייַן ווי סטרייטפאָרווערד ווי דעם. 230 00:19:42,700 --> 00:19:47,240 איר קען האָבן 2 וועריאַבאַלז, און 1 בייַטעוודיק כאַפּאַנז צו זייַן אַ שטריקל 231 00:19:47,240 --> 00:19:51,310 און די אנדערע בייַטעוודיק כאַפּאַנז צו זייַן אַ ינט, און דאַן איר לייגן די וועריאַבאַלז צוזאַמען. 232 00:19:51,310 --> 00:20:00,120 זינט פפּ איז דינאַמיקאַללי טייפּט און עס וועט ניט טאָן קיין טיפּ קאָנטראָלירונג פֿאַר איר 233 00:20:00,120 --> 00:20:03,640 און זינט עס ס וויקלי טייפּט און זינט עס וועט נאָר אויטאָמאַטיש וואַרפן די זאכן צוזאַמען 234 00:20:03,640 --> 00:20:11,490 און אַלץ וועט נאָר אַרבעטן, עס ס 'שווער צו אַפֿילו וויסן אַז דאָס בייַטעוודיק מוזן זייַן אַ שטריקל איצט, 235 00:20:11,490 --> 00:20:14,930 אַזוי איך זאָל נישט לייגן עס צו דעם בייַטעוודיק, וואָס איז אַ ינטעגער. 236 00:20:18,780 --> 00:20:24,560 בעסטער פיר איז אויב אַ בייַטעוודיק איז אַ שטריקל, האַלטן עס ווי אַ שטריקל אויף אייביק. 237 00:20:24,560 --> 00:20:26,980 אויב אַ בייַטעוודיק איז אַ ינט, האַלטן עס ווי אַ ינט אויף אייביק. 238 00:20:26,980 --> 00:20:30,770 אויב איר ווילן צו האַנדלען מיט ינטאַדזשערז און סטרינגס, 239 00:20:30,770 --> 00:20:36,970 איר קענען נוצן וואַרסינט - אַז ס דזשאַוואַסקריפּט. 240 00:20:36,970 --> 00:20:42,520 ינטוואַל. איך טאָן דעם אַלע די צייַט. פפּ און דזשאַוואַסקריפּט איך מישן אַרויף אַלץ. 241 00:20:42,520 --> 00:20:47,600 אַזוי ינטוואַל איז געגאנגען צו צוריקקומען די ינטעגער ווערט פון אַ בייַטעוודיק. 242 00:20:47,600 --> 00:20:56,550 אויב מיר פאָרן אין "דרוק (ינטוואַל ('123 ')); איר באַקומען 123. 243 00:21:06,820 --> 00:21:15,850 ינטוואַל זיך איז נישט געגאנגען צו טאָן די טשעק פֿאַר אונדז אַז עס ס אויסשליסלעך אַן ינטעגער. 244 00:21:15,850 --> 00:21:20,460 די פפּ מאַנואַל, עס זענען נאָר אַזוי פילע פאַנגקשאַנז פאַראַנען, 245 00:21:20,460 --> 00:21:26,560 אַזוי דאָ איך טראַכטן וואָס איך וואָלט נוצן איז יס_נומעריק ערשטער. 246 00:21:26,560 --> 00:21:32,590 איך בין געסינג אַז אומגעקערט פאַלש. 247 00:21:32,590 --> 00:21:35,780 אַז ס אן אנדער זאַך מיר האָבן צו גיין איבער איז ===. 248 00:21:37,850 --> 00:21:44,020 אַזוי יס_נומעריק ('123דף '), איר וואָלט נישט טראַכטן פון וואָס ווי יס_נומעריק. 249 00:21:44,020 --> 00:21:46,720 אין C איר וואָלט האָבן צו יטעראַטע איבער אַלע אותיות 250 00:21:46,720 --> 00:21:50,410 און טשעק צו זען אויב יעדער כאַראַקטער איז ציפֿער אָדער וועלכער. 251 00:21:50,410 --> 00:21:53,850 דאָ יס_נומעריק איז געגאנגען צו טאָן אַז פֿאַר אונדז, 252 00:21:53,850 --> 00:21:56,520 און עס ס אומגעקערט פאַלש. 253 00:21:56,520 --> 00:22:02,120 אַזוי ווען איך געדרוקט וואָס, עס געדרוקט גאָרנישט, אַזוי דאָ איך בין קאַמפּערינג עס צו זען, 254 00:22:02,120 --> 00:22:05,490 האט איר פּאַסירן צו זייַן פאַלש? און אַזוי איצט עס ס דרוקן 1. 255 00:22:05,490 --> 00:22:10,060 משמעות עס פּרינץ 1 ווי אמת אַנשטאָט פון דרוקן אמת ווי אמת. 256 00:22:10,060 --> 00:22:15,790 איך ווונדער אויב איך טאָן פּרינט_ר. ניין, עס נאָך טוט 1. 257 00:22:15,790 --> 00:22:26,760 >> געגאנגען צוריק צו ===, == נאָך יגזיסץ, 258 00:22:26,760 --> 00:22:32,260 און אויב איר רעדן צו טאַמי ער וועט זאָגן == איז בישליימעס פייַן. 259 00:22:32,260 --> 00:22:37,700 איך בין געגאנגען צו זאָגן אַז == איז שרעקלעך און איר זאָל קיינמאָל נוצן ==. 260 00:22:37,700 --> 00:22:44,870 די חילוק איז אַז == קאַמפּערז זאכן 261 00:22:44,870 --> 00:22:48,450 ווו עס קענען זייַן אמת אַפֿילו אויב זיי ניטאָ ניט די זעלבע טיפּ, 262 00:22:48,450 --> 00:22:53,810 וועראַז === קאַמפּערז זאכן און ערשטער עס טשעקס זענען זיי די זעלבע טיפּ? 263 00:22:53,810 --> 00:22:58,010 יא. אָוקיי, איצט איך בין געגאנגען צו זען אויב זיי פאקטיש פאַרגלייַכן צו זייַן גלייַך. 264 00:22:58,010 --> 00:23:08,890 איר באַקומען טשודנע זאכן ווי 10 יקוואַלז - לאָזן ס זען וואָס וואָס זאגט. 265 00:23:08,890 --> 00:23:15,570 אַזוי ('10 '== '1 ע1'); 266 00:23:15,570 --> 00:23:17,980 דאס קערט אמת. 267 00:23:17,980 --> 00:23:21,420 טוט ווער עס יז האָבן קיין געסאַז וואָס דאָס קערט אמת? 268 00:23:25,180 --> 00:23:27,120 עס איז ניט נאָר וועגן וואָס. אפֿשר דאָס איז אַ אָנצוהערעניש. 269 00:23:27,120 --> 00:23:33,170 אבער אויב איך טוישן אַז צו אַן F - צירעווען עס! איך האַלטן ניצן טאָפּל קוואָטעס. 270 00:23:33,170 --> 00:23:38,780 די סיבה דער טאָפּל קוואָטעס זענען יעלינג בייַ מיר איז ווייַל איך ווע שטעלן דעם אין טאָפּל קוואָטעס. 271 00:23:38,780 --> 00:23:43,850 אַזוי איך קען אַנטלויפן די טאָפּל ציטירט אין דאָ, אָבער איין קוואָטעס מאַכן עס גרינגער. 272 00:23:43,850 --> 00:23:49,120 אַזוי ('10 '== '1 פ 1'); טוט נישט דרוקן אמת. ('10 '== '1 ע1'); פּרינץ אמת. 273 00:23:49,120 --> 00:23:56,330 [תּלמיד] איז עס העקס? >> עס ס נישט העקס, אָבער עס ס נאָענט אַז עס ס ווי - 274 00:23:56,330 --> 00:24:01,060 1ע1, וויסנשאפטלעכע נאָוטיישאַן. 275 00:24:01,060 --> 00:24:07,950 עס אנערקענט 1ע1 ווי 1 * 10 ^ 1 אָדער וועלכער. 276 00:24:07,950 --> 00:24:11,510 יענע זענען גלייַך ינטאַדזשערז. 277 00:24:11,510 --> 00:24:15,930 אויב מיר טאָן === דעמאָלט עס ס געגאנגען צו זייַן פאַלש. 278 00:24:15,930 --> 00:24:28,490 איך פאקטיש האָבן קיין געדאַנק אויב מיר טאָן == וואָס וועגן (10 און '10אַבק ');? אַלע רעכט. אַזוי אַז ס 'אמת. 279 00:24:28,490 --> 00:24:35,940 אַזוי פּונקט ווי ווען איר האט (10 + '10אַבק '); און עס וואָלט זייַן 20, 280 00:24:35,940 --> 00:24:38,800 דאָ (10 == '10אַבק '); איז אמת. 281 00:24:38,800 --> 00:24:45,350 אפילו ערגער זענען זאכן ווי (פאַלש == נאַל); איז אמת 282 00:24:45,350 --> 00:24:52,210 אָדער (פאַלש == 0); איז אמת, (פאַלש == []); 283 00:24:52,210 --> 00:25:00,970 עס זענען טשודנע פאלן פון - אַז ס איינער פון יענע טשודנע קאַסעס. 284 00:25:00,970 --> 00:25:08,110 נאָטיץ אַז (פאַלש == []); איז אמת. 285 00:25:08,110 --> 00:25:11,950 ('0 '== פאַלש); איז אמת. 286 00:25:11,950 --> 00:25:16,090 ('0 '== []); איז פאַלש. 287 00:25:16,090 --> 00:25:19,090 אַזוי == איז אין קיין וועג טראַנסיטיווע. 288 00:25:19,090 --> 00:25:26,830 אַ קענען זייַן גלייַך צו בייטן און אַ קענען זייַן גלייַך צו C, 289 00:25:26,830 --> 00:25:29,340 אָבער ב זאל ניט זייַן גלייַך צו C. 290 00:25:29,340 --> 00:25:35,580 אַז ס אַ אַבאַמאַניישאַן צו מיר, און איר זאָל שטענדיק נוצן ===. 291 00:25:35,580 --> 00:25:38,590 [תּלמיד] קענען מיר טאָן! == ווי גוט? >> [באָוודען] יא. 292 00:25:38,590 --> 00:25:44,600 דער עקוויוואַלענט וואָלט זייַן! = און! ==. 293 00:25:44,600 --> 00:25:48,230 דאס איז פאקטיש געבראכט אַרויף אין די פּסעט ספּעק 294 00:25:48,230 --> 00:25:52,000 ווו אַ פּלאַץ פון פאַנגקשאַנז צוריקקומען - 295 00:25:52,000 --> 00:25:53,890 די פפּ מאַנואַל איז גוט וועגן דעם. 296 00:25:53,890 --> 00:25:59,140 עס לייגט אין אַ גרויס רויט קעסטל, "דאס וועט צוריקקומען פאַלש אויב דאָרט ס 'אַ טעות." 297 00:25:59,140 --> 00:26:03,940 אבער אומגעקערט 0 איז אַ בישליימעס גלייַך זאַך צו צוריקקומען. 298 00:26:03,940 --> 00:26:08,250 טראַכטן וועגן קיין פֿונקציע וואָס איז דערוואַרט צו צוריקקומען אַן ינטעגער. 299 00:26:11,250 --> 00:26:17,880 זאל ס זאָגן דעם פֿונקציע איז געמיינט צו ציילן די נומער פון שורות אין אַ טעקע אָדער עפּעס. 300 00:26:17,880 --> 00:26:23,490 אונטער נאָרמאַל צושטאנדן, איר פאָרן דעם פֿונקציע אַ טעקע 301 00:26:23,490 --> 00:26:27,120 און עס ס געגאנגען צו צוריקקומען אַן ינטעגער וואָס רעפּראַזענץ די נומער פון שורות. 302 00:26:27,120 --> 00:26:30,820 אַזוי 0 איז אַ בישליימעס גלייַך נומער אויב דער טעקע איז נאָר ליידיק. 303 00:26:30,820 --> 00:26:36,810 אבער וואָס אויב איר פאָרן עס אַ פאַרקריפּלט טעקע און די פֿונקציע כאַפּאַנז צו צוריקקומען פאַלש 304 00:26:36,810 --> 00:26:38,860 אויב איר פאָרן עס אַ פאַרקריפּלט טעקע? 305 00:26:38,860 --> 00:26:46,500 אויב איר נאָר טאָן == איר ניטאָ ניט דיפערענטשיייטינג דער פאַל צווישן פאַרקריפּלט טעקע און ליידיק טעקע. 306 00:26:48,870 --> 00:26:51,350 שטענדיק נוצן ===. 307 00:26:55,690 --> 00:26:58,000 אַז ס אַלע פון ​​יענע. 308 00:26:58,000 --> 00:27:01,660 >> אין פפּ, די מענגע טיפּ איז אַנדערש פון וואָס איר ניטאָ געניצט צו אין סי 309 00:27:01,660 --> 00:27:06,650 טאקע, איר זאלט ​​האָבן שוין באמערקט דעם אויבן ווען איר געזען אַז דאָס איז פון טיפּ מענגע. 310 00:27:06,650 --> 00:27:15,640 דער קאַנטיקער סינטאַקס איז נייַ ווי פון פפּ 5.4, וואָס איז די נואַסט ווערסיע פון ​​פפּ. 311 00:27:15,640 --> 00:27:36,960 איידער דעם איר שטענדיק געהאט צו שרייַבן מענגע ('אַ' -> 1, 'ב' -> 2. 312 00:27:36,960 --> 00:27:41,160 וואָס איז די קאַנסטראַקטער פֿאַר אַ מענגע. 313 00:27:41,160 --> 00:27:45,950 איצט פפּ האט לעסאָף קומען אַרום צו דעם פייַן סינטאַקס פון נאָר קוואַדראַט בראַקאַץ, 314 00:27:45,950 --> 00:27:50,900 וואָס איז פּונקט אַזוי פיל בעסער ווי מענגע. 315 00:27:50,900 --> 00:27:54,480 אבער קאָנסידערינג פפּ 5.4 איז די נואַסט ווערסיע, 316 00:27:54,480 --> 00:27:59,090 איר קען טרעפן ערטער אַז טאָן ניט אַפֿילו האָבן פפּ 5.3. 317 00:27:59,090 --> 00:28:08,220 איבער די זומער מיר געלאפן אין דעם אַרויסגעבן ווו פפּ 5.3 איז וואָס מיר האבן אויף די אַפּפּליאַנסע, 318 00:28:08,220 --> 00:28:14,480 אָבער די סערווער וואָס מיר דיפּלויד אַלע אונדזער מיינונג בוך און פאָרלייגן און אַלע וואָס שטאָפּן צו 319 00:28:14,480 --> 00:28:16,750 איז פפּ 5.4. 320 00:28:16,750 --> 00:28:23,060 ניט געוואוסט דעם, מיר דעוועלאָפּעד אין 5.3, פּושט צו 5.4, 321 00:28:23,060 --> 00:28:25,660 און איצט אַלע פון ​​אַ פּלוצעמדיק קיינער פון אונדזער קאָד אַרבעט 322 00:28:25,660 --> 00:28:28,680 ווייַל דאָרט געטראפן צו האָבן געווען ענדערונגען צווישן 5.3 און 5.4 323 00:28:28,680 --> 00:28:31,030 וואָס זענען נישט קאַפּויער קאַמפּאַטאַבאַל, 324 00:28:31,030 --> 00:28:35,770 און מיר האָבן צו גיין און פאַרריכטן אַלע פון ​​אונדזער זאכן וואָס טאָן ניט אַרבעט פֿאַר פפּ 5.4. 325 00:28:39,210 --> 00:28:42,320 פֿאַר דעם סאָרט, זינט די אַפּפּליאַנסע טוט האָבן פפּ 5.4, 326 00:28:42,320 --> 00:28:45,490 עס ס בישליימעס פייַן צו נוצן קוואַדראַט בראַקאַץ. 327 00:28:47,240 --> 00:28:50,440 אבער אויב איר ניטאָ קוקן אַרויף דאס אַרום די אינטערנעט, 328 00:28:50,440 --> 00:28:54,880 אויב איר ניטאָ קוקן אַרויף עטלעכע מין פון מענגע שטאָפּן, רובֿ מסתּמא איר ניטאָ געגאנגען צו זען 329 00:28:54,880 --> 00:29:02,020 די רעגע אויס מענגע קאַנסטראַקטער סינטאַקס זינט אַז ס 'געווען אַרום זינט פפּ איז געבוירן 330 00:29:02,020 --> 00:29:07,340 און קוואַדראַט קאַנטיקער סינטאַקס האט שוין אַרום פֿאַר די פאַרגאַנגענהייַט פּאָר חדשים 331 00:29:07,340 --> 00:29:10,020 אָדער ווען 5.4 געקומען אַרום. 332 00:29:10,020 --> 00:29:12,710 דאס איז ווי איר אינדעקס. 333 00:29:12,710 --> 00:29:30,610 פּונקט ווי אין C ווי איר וואָלט אינדעקס דורך קוואַדראַט בראַקאַץ ווי $ מענגע [0], $ מענגע [1], $ מענגע [2], 334 00:29:30,610 --> 00:29:36,320 איר אינדעקס די זעלבע וועג אויב איר פּאַסירן צו האָבן דיין ינדיסעס זייַענדיק סטרינגס. 335 00:29:36,320 --> 00:29:40,440 אַזוי $ מענגע ['אַ'] און $ מענגע ['ב']. 336 00:29:40,440 --> 00:29:47,410 $ מענגע [ב]. וואָס וואָלט דאָס זייַן אומרעכט? 337 00:29:52,490 --> 00:29:59,870 עס וועט מיסטאָמע דזשענערייט אַ ווארענונג אָבער נאָך אַרבעט. פפּ טענדז צו טאָן וואָס. 338 00:29:59,870 --> 00:30:04,890 עס טענדז צו נאָר, "איך בין געגאנגען צו וואָרענען איר וועגן דעם, אָבער איך בין נאָר געגאנגען צו האַלטן געגאנגען 339 00:30:04,890 --> 00:30:07,550 "און טאָן וועלכער איך קען." 340 00:30:07,550 --> 00:30:11,500 עס וועט מיסטאָמע איבערזעצן דעם צו אַ שטריקל, 341 00:30:11,500 --> 00:30:15,000 אָבער עס איז מעגלעך אַז אין עטלעכע פונט אין דער פאַרגאַנגענהייַט עמעצער האט געזאגט 342 00:30:15,000 --> 00:30:20,180 דעפינירן בייטן צו זייַן 'העלא וועלט'. 343 00:30:20,180 --> 00:30:28,740 אַזוי איצט בייטן קען זייַן אַ קעסיידערדיק און $ מענגע [ב] וועט פאקטיש זייַן טאן 'העלא וועלט'. 344 00:30:28,740 --> 00:30:32,380 איך טראַכטן אין דעם פונט, אָדער בייַ מינדסטער אונדזער פפּ סעטטינגס, 345 00:30:32,380 --> 00:30:37,870 אויב איר פּרובירן צו אינדעקס אין אַ מענגע און אַז שליסל טוט נישט עקזיסטירן, עס וועט פאַרלאָזן. 346 00:30:37,870 --> 00:30:40,150 איך טאָן ניט טראַכטן עס וועט נאָר וואָרענען איר. 347 00:30:40,150 --> 00:30:44,560 אָדער בייַ מינדסטער איר קענען שטעלן עס אַזוי אַז עס טוט נישט נאָר וואָרענען איר, עס נאָר גלייַך אַרויף פיילז. 348 00:30:44,560 --> 00:30:49,290 >> די וועג איר טשעק צו זען אויב עס פאקטיש איז אַזאַ אַן אינדעקס איז יססעט. 349 00:30:49,290 --> 00:30:54,690 אַזוי יססעט ($ מענגע ['העלא וועלט']) וועט צוריקקומען פאַלש. 350 00:30:54,690 --> 00:30:59,160 יססעט ($ מענגע ['ב']) וועט צוריקקומען אמת. 351 00:31:06,830 --> 00:31:09,880 איר קענען מישן די סינטאַקסעס. 352 00:31:15,060 --> 00:31:22,440 איך בין שיין זיכער וואָס דאָס מענגע וואָלט סוף אַרויף זייַענדיק איז - מיר קענען פּרובירן עס אויס. 353 00:31:43,290 --> 00:31:45,700 אָה, איך דאַרפֿן פפּוואָרד. 354 00:31:53,960 --> 00:32:00,260 דאס איז מיקסינג דעם סינטאַקס ווו איר ספּעציפיצירן וואָס דער שליסל איז 355 00:32:00,260 --> 00:32:03,330 און איר טאָן ניט ספּעציפיצירן וואָס דער שליסל איז. 356 00:32:03,330 --> 00:32:05,520 אַזוי 3 רעכט דאָ איז אַ ווערט. 357 00:32:05,520 --> 00:32:08,080 איר האָט נישט בפירוש געזאגט וואָס זייַן שליסל איז געגאנגען צו זייַן. 358 00:32:08,080 --> 00:32:11,670 וואָס טאָן איר טראַכטן זייַן שליסל איז געגאנגען צו זייַן? 359 00:32:11,670 --> 00:32:21,410 [תּלמיד] 0. >> איך בין געסינג 0 בלויז ווייַל עס ס דער ערשטער איינער מיר האָבן נישט ספּעסאַפייד. 360 00:32:21,410 --> 00:32:23,500 מיר קענען פאקטיש טאָן אַ פּאָר פון די קאַסעס. 361 00:32:23,500 --> 00:32:28,030 אַזוי פּרינט_ר איז דרוק רעקורסיווע. עס וועט דרוקן די גאנצע מענגע. 362 00:32:28,030 --> 00:32:32,700 עס וואָלט דרוק סובאַררייַס פון די מענגע אויב עס זענען געווען קיין. 363 00:32:32,700 --> 00:32:36,630 אַזוי פּרינט_ר ($ מענגע); פפּ.טעסט.פפּ. 364 00:32:36,630 --> 00:32:38,810 עס טוט קוקן ווי עס געגעבן עס 0. 365 00:32:38,810 --> 00:32:43,530 עס ס 'פאקטיש עפּעס צו האַלטן אין גייַסט דאָ, אָבער מיר וועט באַקומען צוריק צו עס אין אַ רגע. 366 00:32:43,530 --> 00:32:45,850 אבער וואָס אויב איך פּאַסירן צו מאַכן דעם אינדעקס 1? 367 00:32:45,850 --> 00:32:51,170 פפּ טוט נישט דיפערענטשיייט צווישן שטריקל ינדיסעס און ינטעגער ינדיסעס, 368 00:32:51,170 --> 00:33:00,280 אַזוי בייַ דעם פונט איך ווע נאָר דיפיינד אַן אינדעקס 1 און איך קענען טאָן ביידע $ מענגע [1] און $ מענגע ['1 '] 369 00:33:00,280 --> 00:33:06,250 און עס וועט זייַן די זעלבע אינדעקס און די זעלבע שליסל. 370 00:33:06,250 --> 00:33:13,000 אַזוי איצט וואָס טאָן איר טראַכטן 3 איז געגאנגען צו זייַן? >> [תּלמיד] 2. >> [באָוודען] איך בין געסינג 2. 371 00:33:16,000 --> 00:33:18,690 יאָ. עס ס 2. 372 00:33:18,690 --> 00:33:24,790 וואָס אויב מיר האבן דעם איז 10, דאָס איז 4? וואָס טאָן איר טראַכטן דער אינדעקס פון 3 איז געגאנגען צו זייַן? 373 00:33:27,360 --> 00:33:29,110 איך בין טראכטן 11. 374 00:33:29,110 --> 00:33:33,060 מייַן טרעפן ווי צו וואָס פפּ טוט - און איך טראַכטן איך ווע געזען דעם פריער - 375 00:33:33,060 --> 00:33:39,760 איז עס נאָר האלט שפּור פון וואָס די העכסטן נומעריק אינדעקס עס ס 'געניצט אַזוי ווייַט איז. 376 00:33:39,760 --> 00:33:44,230 עס ס קיינמאָל געגאנגען צו באַשטימען אַ שטריקל אינדעקס צו 3. עס וועט שטענדיק זייַן אַ נומעריק אינדעקס. 377 00:33:44,230 --> 00:33:47,690 אַזוי עס האלט שפּור פון דעם העכסטן איינער עס ס אַסיינד אַזוי ווייַט, וואָס כאַפּאַנז צו זייַן 10, 378 00:33:47,690 --> 00:33:52,540 און עס ס געגאנגען צו געבן 11-3. 379 00:33:52,540 --> 00:34:02,110 וואָס איך געזאגט פריער, באַמערקן די וועג עס איז דרוקן דעם מענגע. 380 00:34:02,110 --> 00:34:06,850 עס פּרינץ שליסל 10, שליסל 4, שליסל 11, שליסל ד. 381 00:34:06,850 --> 00:34:09,790 אָדער אַפֿילו לאָזן ס טאָן - 382 00:34:15,760 --> 00:34:22,489 איך טרעפן איך האט נישט שטעלן אַ 0, אָבער עס ס דרוקן 1, 2, 3, 4. 383 00:34:22,489 --> 00:34:29,330 וואָס אויב איך באַשטימען דאָ? אָדער לאָזן ס פאקטיש באַשטימען די 2. 384 00:34:29,330 --> 00:34:31,940 איצט עס פּרינץ 2, 1, 3, 4. 385 00:34:31,940 --> 00:34:41,270 פפּ ס ערייז זענען נישט נאָר ווי דיין רעגולער האַש טיש. 386 00:34:41,270 --> 00:34:45,570 עס ס בישליימעס גלייַך צו טראַכטן פון זיי ווי האַש טישן 99% פון די צייַט. 387 00:34:45,570 --> 00:34:53,790 אבער אין אייער האַש טישן דאָרט ס קיין זינען פון דעם סדר אין וואָס דאס זענען ינסערטאַד. 388 00:34:53,790 --> 00:34:56,639 אַזוי ווי באַלד ווי איר אַרייַנלייגן עס אין דיין האַש טיש, 389 00:34:56,639 --> 00:35:00,590 יבערנעמען דאָרט ס קיין לינגקט רשימה און איר קען ריכטער ין אַ לינגקט רשימה 390 00:35:00,590 --> 00:35:03,980 וואָס איז געווען ינסערטאַד ערשטער. 391 00:35:03,980 --> 00:35:10,060 אבער דאָ מיר ינסערטאַד 2 ערשטער און עס ווייסט ווען עס ס דרוקן אויס דעם מענגע אַז 2 קומט ערשטער. 392 00:35:10,060 --> 00:35:13,090 עס טוט נישט דרוקן עס אויס אין נאָר קיין סדר. 393 00:35:13,090 --> 00:35:17,550 די טעכניש דאַטן סטרוקטור אַז עס ס ניצן איז אַ באפוילן מאַפּע, 394 00:35:17,550 --> 00:35:24,690 אַזוי עס מאַפּס קיז צו וואַלועס און עס געדענקט די סדר אין וואָס יענע קיז זענען ינסערטאַד. 395 00:35:24,690 --> 00:35:31,600 בייסיקלי עס ס צו עטלעכע קאַמפּלאַקיישאַנז ווו עס ס אַנויינג צו פאקטיש - 396 00:35:31,600 --> 00:35:34,510 זאל ס זאָגן איר האָבן אַ מענגע 0, 1, 2, 3, 4, 5 397 00:35:34,510 --> 00:35:37,700 און איר ווילן צו נעמען אויס אינדעקס 2. 398 00:35:37,700 --> 00:35:47,750 איין וועג פון טאן עס, לאָזן ס זען וואָס וואָס קוקט ווי. 399 00:35:47,750 --> 00:35:50,410 0, 2, 1, 3, 4. 400 00:35:50,410 --> 00:35:54,880 אַנסעט כאַפּאַנז צו אַנסעט ביידע וועריאַבאַלז און מענגע ינדיסעס. 401 00:35:54,880 --> 00:35:58,630 אַזוי אַנסעט ($ מענגע [2]); 402 00:35:58,630 --> 00:36:03,430 איצט וואָס ס דעם געגאנגען צו קוקן ווי? 2 איז נאָר ניטאָ, אַזוי אַז ס בישליימעס פייַן. 403 00:36:03,430 --> 00:36:11,670 מער אַנויינג איז אויב איר ווילן דאס צו פאקטיש זייַן ווי אַ מענגע. 404 00:36:11,670 --> 00:36:14,910 איך וועט שטעלן טראַפ - נומערן. 405 00:36:14,910 --> 00:36:20,400 איצט באַמערקן מיין ינדיסעס. 406 00:36:20,400 --> 00:36:26,860 איך ווילן עס צו נאָר זייַן ווי אַ C מענגע ווו עס גייט פון 0 צו לענג - 1 407 00:36:26,860 --> 00:36:30,810 און איך קענען יטעראַטע איבער אים ווי אַזאַ. 408 00:36:30,810 --> 00:36:38,520 אבער ווי באַלד ווי איך אַנסעט די רגע אינדעקס, וואָס איז געווען אין אינדעקס 3 טוט נישט איצט ווערן אינדעקס 2. 409 00:36:38,520 --> 00:36:44,790 אַנשטאָט עס נאָר רימוווז אַז אינדעקס און איצט איר גיין 0, 1, 3, 4. 410 00:36:44,790 --> 00:36:48,740 דאס איז בישליימעס גלייַך. 411 00:36:48,740 --> 00:36:53,950 עס ס נאָר אַנויינג און איר האָבן צו טאָן זאכן ווי מענגע ספּלייס. יאָ. 412 00:36:53,950 --> 00:36:57,200 >> [תּלמיד] וואָס וואָלט פּאַסירן אויב איר האט אַ פֿאַר שלייף 413 00:36:57,200 --> 00:36:59,630 און איר געוואלט צו גיין איבער אַלע די יסודות? 414 00:36:59,630 --> 00:37:02,290 ווען עס שלאָגן 2, וואָלט עס טראָגן אלץ? 415 00:37:02,290 --> 00:37:10,150 יטעראַטינג איבער אַ מענגע. עס זענען 2 וועגן איר קענען טאָן עס. 416 00:37:10,150 --> 00:37:12,770 איר קענען נוצן אַ רעגולער פֿאַר שלייף. 417 00:37:12,770 --> 00:37:22,000 דאס איז אן אנדער ינטראַקאַסי פון פפּ. 418 00:37:22,000 --> 00:37:27,420 רובֿ שפּראַכן, איך וואָלט זאָגן, האָבן עטלעכע סאָרט פון לענג אָדער לען אָדער עפּעס 419 00:37:27,420 --> 00:37:30,470 ינדאַקייטינג די לענג פון אַ מענגע. 420 00:37:30,470 --> 00:37:32,820 אין פפּ עס ס ציילן. 421 00:37:32,820 --> 00:37:36,160 אַזוי ציילן ($ מענגע); $ איך + +) 422 00:37:36,160 --> 00:37:42,950 זאל ס נאָר דרוקן ($ מענגע [$ איך]); 423 00:37:45,920 --> 00:37:48,820 נאָטיץ: ונדעפינעד פאָטאָ: 2. 424 00:37:48,820 --> 00:37:51,610 עס ס נאָר געגאנגען צו פאַרלאָזן. 425 00:37:51,610 --> 00:38:03,020 דאס איז די סיבה וואָס, פֿאַר די רובֿ טייל, איר קיינמאָל דאַרפֿן צו יטעראַטע איבער אַ מענגע ווי דעם. 426 00:38:03,020 --> 00:38:07,110 עס זאל זייַן אַ גוזמע, אָבער איר קיינמאָל דאַרפֿן צו יטעראַטע איבער אַ מענגע ווי דעם 427 00:38:07,110 --> 00:38:19,410 ווייַל פפּ גיט זייַן פאָרעאַטש סינטאַקס ווו פאָרעאַטש ($ מענגע ווי $ נומער). 428 00:38:19,410 --> 00:38:31,830 איצט אויב מיר דרוקן ($ נומער); - וויל דיסקוטירן עס אין אַ רגע - וואָס אַרבעט בישליימעס פייַן. 429 00:38:31,830 --> 00:38:38,960 די וועג וואָס פאָרעאַטש איז ארבעטן איז דער ערשטער אַרגומענט איז די מענגע אַז איר ניטאָ יטעראַטינג איבער. 430 00:38:38,960 --> 00:38:44,060 און די רגע אַרגומענט, נומער, דורך יעדער פאָרן פון די פֿאַר שלייף 431 00:38:44,060 --> 00:38:52,690 עס ס געגאנגען צו נעמען אויף דער ווייַטער זאַך אין די מענגע. אַזוי געדענקען די מענגע האט אַ סדר. 432 00:38:52,690 --> 00:38:55,690 דער ערשטער צייַט דורך די פֿאַר שלייף, נומער איז געגאנגען צו זייַן 123 433 00:38:55,690 --> 00:38:59,540 דעמאָלט עס וועט זייַן 12 דעמאָלט עס וועט זייַן 13 דעמאָלט עס וועט זייַן 23 דעמאָלט עס וועט זייַן 213. 434 00:38:59,540 --> 00:39:04,670 דאס באַקומען טאַקע טשודנע ווען איר טאָן עפּעס ווי פאָרעאַטש. 435 00:39:04,670 --> 00:39:07,480 זאל ס זען וואָס כאַפּאַנז ווייַל איר זאָל קיינמאָל טאָן דעם. 436 00:39:07,480 --> 00:39:13,320 וואָס אויב מיר אַנסעט ($ מענגע [1]); 437 00:39:20,410 --> 00:39:26,030 וואָס איז געווען מיסטאָמע דערוואַרט. 438 00:39:26,030 --> 00:39:30,950 איר רע יטעראַטינג איבער דעם מענגע, און יעדער מאָל איר ניטאָ ונסעטטינג דער ערשטער אינדעקס. 439 00:39:30,950 --> 00:39:39,720 אַזוי פֿאַר אינדעקס 0, דער ערשטער זאַך, נומער נעמט אויף ווערט 0, אַזוי עס ס געגאנגען צו זייַן 123. 440 00:39:39,720 --> 00:39:44,630 אבער ין פון די פֿאַר שלייף מיר אַנסעט אינדעקס 1, אַזוי אַז מיטל 12 איז ניטאָ. 441 00:39:44,630 --> 00:39:57,480 אַזוי דרוקן. פפּ_עאָל. 442 00:39:57,480 --> 00:40:03,580 פפּ_עאָל איז נאָר נעוולינע, אָבער עס ס טעקניקלי מער פּאָרטאַטיוו 443 00:40:03,580 --> 00:40:08,890 זינט נעוולינעס אין פֿענצטער איז אַנדערש פון נעוולינעס אויף מעק און יוניקס. 444 00:40:08,890 --> 00:40:18,040 אויף פֿענצטער נעוולינע איז \ ר \ N, וועראַז אומעטום אַנדערש עס טענדז נאָר צו זייַן \ ען. 445 00:40:18,040 --> 00:40:25,150 פפּ_עאָל איז קאַנפיגיערד אַזוי אַז עס ניצט וועלכער די נעוולינע פון ​​דיין סיסטעם איז. 446 00:40:25,150 --> 00:40:29,310 אַזוי דרוקן אַז. זאל ס נישט פּרינט_ר ($ מענגע) אין די סוף. 447 00:40:32,830 --> 00:40:37,390 איך האט קיין געדאַנק אַז וואָס וואָלט זייַן די נאַטור. 448 00:40:41,740 --> 00:40:48,960 נומער נאָך נעמט אויף די ווערט 12 אַפֿילו כאָטש מיר אַנסעט 12 איידער מיר אלץ גאַט צו אים פון די מענגע. 449 00:40:52,770 --> 00:40:58,840 דו זאלסט נישט נעמען מיין וואָרט אויף דעם, אָבער עס קוקט ווי פאָרעאַטש קריייץ אַ קאָפּיע פון ​​דעם מענגע 450 00:40:58,840 --> 00:41:02,160 און דעמאָלט נומער נעמט אויף אַלע וואַלועס פון וואָס קאָפּיע. 451 00:41:02,160 --> 00:41:07,760 אַזוי אַפֿילו אויב איר מאָדיפיצירן די מענגע ין די פֿאַר שלייף, 452 00:41:07,760 --> 00:41:17,240 עס וועט ניט זאָרגן. נומער וועט נעמען אויף די אָריגינעל וואַלועס. 453 00:41:17,240 --> 00:41:19,240 זאל ס פּרובירן ונסעטטינג עס. 454 00:41:19,240 --> 00:41:24,460 וואָס אויב דאָס איז $ מענגע [1] = "העלא"; 455 00:41:24,460 --> 00:41:31,770 אפילו כאָטש מיר שטעלן "העלא" אין די מענגע, נומער קיינמאָל נעמט אויף וואָס ווערט. 456 00:41:31,770 --> 00:41:37,430 עס ס אנדערן סינטאַקס צו פאָרעאַטש לופּס 457 00:41:37,430 --> 00:41:45,900 ווו איר שטעלן 2 וועריאַבאַלז אפגעשיידט דורך אַ פייַל. 458 00:41:45,900 --> 00:41:49,680 דאס ערשטער בייַטעוודיק איז געגאנגען צו זייַן די שליסל פון וואָס ווערט, 459 00:41:49,680 --> 00:41:53,050 און דעם רגע בייַטעוודיק איז געגאנגען צו זייַן די זעלבע פּינטלעך נומער. 460 00:41:53,050 --> 00:42:01,610 דאס איז אַנינטראַסטינג דאָ, אָבער אויב מיר גיין צוריק צו אונדזער אָריגינעל פאַל פון 'אַ' -> 1, 461 00:42:01,610 --> 00:42:06,090 'ב' -> 1, 462 00:42:06,090 --> 00:42:14,470 דאָ אויב מיר נאָר יטעראַטע פֿאַר יעדער מענגע ווי נומער, נומער איז געגאנגען צו זייַן 1 יעדער איין מאָל. 463 00:42:14,470 --> 00:42:18,170 אבער אויב מיר אויך ווילן צו וויסן די שליסל פארבונדן מיט אַז נומער 464 00:42:18,170 --> 00:42:25,230 דעמאָלט מיר טאָן ווי $ שליסל -> $ נומער. 465 00:42:25,230 --> 00:42:31,980 אַזוי איצט מיר קענען טאָן דרוקן ($ שליסל. ':'. 466 00:42:31,980 --> 00:42:39,380 איצט עס ס יטעראַטינג איבער און דרוקן יעדער שליסל און זייַן פארבונדן ווערט. 467 00:42:39,380 --> 00:42:47,030 >> אַן נאָך זאַך מיר קענען טאָן אין פאָרעאַטש לופּס איז איר זאל זען דעם סינטאַקס. 468 00:42:47,030 --> 00:42:54,770 אַמפּערסאַנדס איידער בייַטעוודיק נעמען טענד צו זייַן ווי פפּ טוט באַווייַזן. 469 00:42:54,770 --> 00:43:00,460 ווו באַווייַזן זענען זייער ענלעך צו פּוינטערז, 470 00:43:00,460 --> 00:43:04,820 איר טאָן ניט האָבן פּוינטערז, אַזוי איר קיינמאָל האַנדלען מיט זכּרון גלייַך. 471 00:43:04,820 --> 00:43:12,620 אבער איר טאָן האָבן באַווייַזן ווו 1 בייַטעוודיק רעפערס צו די זעלבע זאַך ווי אן אנדער בייַטעוודיק. 472 00:43:12,620 --> 00:43:21,450 ין פון דאָ לאָזן ס טאָן $ נומער. זאל ס גיין צוריק צו 1, 10. 473 00:43:21,450 --> 00:43:28,800 זאל ס טאָן $ נומער + +; אַז נאָך יגזיסץ אין פפּ. איר קענען נאָך טאָן + +. 474 00:43:28,800 --> 00:43:38,260 פפּ.טעסט.פפּ. איך האָבן צו דרוקן עס. פּרינט_ר ($ מענגע); 475 00:43:38,260 --> 00:43:42,730 מיר דרוקן 2, 11. 476 00:43:42,730 --> 00:43:49,560 אויב איך האט נאָר געטאן פאָרעאַטש ($ מענגע ווי $ נומער) דעריבער נומער וועט זייַן די ווערט 1 477 00:43:49,560 --> 00:43:54,190 דער ערשטער צייַט דורך די שלייף. עס וועט ינקראַמאַנט 1-2 און דעמאָלט מיר רע געטאן. 478 00:43:54,190 --> 00:43:57,260 אַזוי דעמאָלט עס וועט גיין דורך די רגע פאָרן פון די שלייף און אַז נומער איז 10. 479 00:43:57,260 --> 00:44:01,570 עס ינגקראַמאַנץ פּונקט צו 11, און דעריבער אַז ס נאָר ארלנגעווארפן אַוועק. 480 00:44:01,570 --> 00:44:06,670 דעמאָלט מיר פּרינט_ר ($ מענגע); און לאָזן ס זען אַז דאָס איז נאָר 1, 10. 481 00:44:06,670 --> 00:44:09,070 אַזוי די ינקראַמאַנט מיר האט איז געווען פאַרפאַלן. 482 00:44:09,070 --> 00:44:13,410 אבער פאָרעאַטש ($ מענגע ווי & $ נומער) 483 00:44:13,410 --> 00:44:21,910 איצט דעם נומער איז די זעלבע נומער ווי דעם רעכט דאָ. עס ס די זעלבע זאַך. 484 00:44:21,910 --> 00:44:26,820 אַזוי $ נומער + + איז מאַדאַפייינג מענגע 0. 485 00:44:29,330 --> 00:44:41,850 בייסיקלי, איר קענען אויך טאָן $ ק -> $ נומער און איר קענען טאָן $ מענגע [$ ק] + +; 486 00:44:41,850 --> 00:44:48,650 >> אַזוי אנדערן וועג פון טאן אַז, מיר זענען פֿרייַ צו מאָדיפיצירן נומער, 487 00:44:48,650 --> 00:44:54,070 אָבער וואָס וועט ניט מאָדיפיצירן אונדזער אָריגינעל מענגע. 488 00:44:54,070 --> 00:44:59,720 אבער אויב מיר נוצן ק, וואָס איז אונדזער שליסל, דעמאָלט מיר קענען נאָר אינדעקס אין אונדזער מענגע ניצן אַז שליסל 489 00:44:59,720 --> 00:45:01,530 און ינקראַמאַנט אַז. 490 00:45:01,530 --> 00:45:05,410 דאס מער גלייַך מאַדאַפייז אונדזער אָריגינעל מענגע. 491 00:45:05,410 --> 00:45:10,690 איר קענען אַפֿילו טאָן אַז אויב פֿאַר עטלעכע סיבה איר געוואלט די פיייקייַט צו מאָדיפיצירן - 492 00:45:10,690 --> 00:45:13,510 פאקטיש, דאָס איז בישליימעס גלייַך. 493 00:45:13,510 --> 00:45:16,020 איר האט נישט וועלן צו האָבן צו שרייַבן $ מענגע [$ ק] + +, 494 00:45:16,020 --> 00:45:27,890 איר נאָר געוואלט צו שרייַבן $ נומער + + אָבער איר נאָך געוואלט צו זאָגן אויב ($ ק === 'אַ') 495 00:45:27,890 --> 00:45:30,620 דעמאָלט ינקראַמאַנט נומער און דעמאָלט דרוק אונדזער מענגע. 496 00:45:30,620 --> 00:45:36,290 אַזוי איצט וואָס טאָן מיר דערוואַרטן פּרינט_ר צו טאָן? וואָס וואַלועס זאָל זייַן געדרוקט? 497 00:45:36,290 --> 00:45:43,770 [תּלמיד] 2 און 10. >> [באָוודען] בלויז אויב דער שליסל איז געווען 'אַ' טאָן מיר פאקטיש דרוקן אַז. 498 00:45:51,940 --> 00:45:55,670 >> איר מיסטאָמע זייער ראַרעלי, אויב אלץ, וועט דאַרפֿן צו דעפינירן פאַנגקשאַנז אין פפּ, 499 00:45:55,670 --> 00:46:03,370 אָבער איר זאל זען עפּעס ענלעך ווו איר דעפינירן אַ פונקציאָנירן ווי פונקציאָנירן וועלכער. 500 00:46:03,370 --> 00:46:09,900 יוזשאַוואַלי איר וואָלט זאָגן ($ פו, $ באַר) און דעמאָלט דעפינירן עס צו זייַן וועלכער. 501 00:46:09,900 --> 00:46:17,580 אבער אויב איך טאָן דאָס, דעמאָלט אַז מיטל אַז וועלכער רופט וועלכער, 502 00:46:17,580 --> 00:46:25,110 וועלכער רופט באַז, אַזוי דער ערשטער אַרגומענט דורכגעגאנגען צו באַז קענען זייַן געביטן. 503 00:46:25,110 --> 00:46:38,100 זאל ס טאָן $ פו + +; 504 00:46:38,100 --> 00:46:48,020 און ין פון דאָ לאָזן ס טאָן באַז ($ נומער); 505 00:46:48,020 --> 00:46:52,250 איצט מיר זענען פאַך אַ פֿונקציע. 506 00:46:52,250 --> 00:46:56,780 דער אַרגומענט איז גענומען דורך דערמאָנען, וואָס מיטל אַז אויב מיר מאָדיפיצירן עס 507 00:46:56,780 --> 00:47:00,390 מיר רע מאַדאַפייינג די זאַך וואָס איז דורכגעגאנגען ין 508 00:47:00,390 --> 00:47:04,420 און דרוק דעם מיר דערוואַרטן - סייַדן איך מעסט זיך סינטאַקס - מיר גאַט 2, 11, 509 00:47:04,420 --> 00:47:06,300 אַזוי עס איז פאקטיש ינקרעמענטעד. 510 00:47:06,300 --> 00:47:08,790 נאָטיץ מיר דאַרפֿן באַווייַזן אין 2 ערטער. 511 00:47:08,790 --> 00:47:13,050 וואָס אויב איך האט דאָס? וואָס טוט דאָס מיינען? 512 00:47:13,050 --> 00:47:15,810 [תּלמיד] עס וועט טוישן. >> יאָ. 513 00:47:15,810 --> 00:47:18,290 נומער איז נאָר אַ קאָפּיע פון ​​דעם ווערט אין דער מענגע. 514 00:47:18,290 --> 00:47:26,670 אַזוי נומער וועט טוישן צו 2, אָבער די מענגע ['אַ'] וועט נאָך זייַן 1. 515 00:47:26,670 --> 00:47:32,560 אָדער וואָס אויב איך טאָן דעם? 516 00:47:32,560 --> 00:47:39,260 איצט נומער איז געשיקט ווי אַ קאָפּיע צו באַז. 517 00:47:39,260 --> 00:47:46,330 אַזוי די קאָפּיע פון ​​דעם אַרגומענט וועט זייַן ינקרעמענטעד צו 2, 518 00:47:46,330 --> 00:47:49,240 אָבער נומער זיך איז קיינמאָל ינקרעמענטעד צו 2. 519 00:47:49,240 --> 00:47:52,880 און פּונקט איז די זעלבע זאַך ווי מענגע קאַנטיקער וועלכער, 520 00:47:52,880 --> 00:47:55,380 אַזוי אַז מענגע איז קיינמאָל ינקרעמענטעד. 521 00:47:55,380 --> 00:47:57,960 אַזוי ביידע יענע ערטער דאַרפֿן עס. 522 00:47:57,960 --> 00:48:03,830 >> פפּ איז יוזשאַוואַלי שיין קלוג וועגן דעם. 523 00:48:03,830 --> 00:48:06,570 איר זאל טראַכטן איך ווילן צו פאָרן דורך דערמאָנען - 524 00:48:06,570 --> 00:48:09,560 דאס איז פאקטיש אַ קשיא אויף איינער פון די פּסעץ. 525 00:48:09,560 --> 00:48:14,480 עס איז געווען אַ קוועסטיאָנס.טקסט זאַך ווו עס האט געזאגט, 526 00:48:14,480 --> 00:48:19,280 פארוואס זאל איר ווילן צו פאָרן דעם סטרוקט דורך דערמאָנען? 527 00:48:19,280 --> 00:48:21,250 וואָס איז געווען די ענטפער צו וואָס? 528 00:48:21,250 --> 00:48:25,100 [תּלמיד] אזוי איר טאָן ניט האָבן צו קאָפּיע עפּעס גרויס. >> יאָ. 529 00:48:25,100 --> 00:48:32,920 א סטרוקט קענען זייַן אַרביטרעראַלי גרויס, און ווען איר פאָרן די סטרוקט אין ווי אַן אַרגומענט 530 00:48:32,920 --> 00:48:36,800 עס דאַרף צו צייכענען אַז גאַנץ סטרוקט צו פאָרן עס צו די פֿונקציע, 531 00:48:36,800 --> 00:48:40,410 וועראַז אויב איר נאָר פאָרן די סטרוקט דורך דערמאָנען 532 00:48:40,410 --> 00:48:46,530 דעמאָלט עס נאָר דאַרף צו צייכענען אַ 4-ביטע אַדרעס ווי דער אַרגומענט צו די פֿונקציע. 533 00:48:48,520 --> 00:48:52,320 פפּ איז אַ קליין ביסל סמאַרטער ווי אַז. 534 00:48:52,320 --> 00:49:00,650 אויב איך האָבן עטלעכע פונקציאָנירן און איך פאָרן צו אים אַ מענגע פון ​​1.000 זאכן, 535 00:49:00,650 --> 00:49:03,990 טוט וואָס מיינען עס ס געגאנגען צו האָבן צו קאָפּיע אַלע 1.000 פון יענע זאכן 536 00:49:03,990 --> 00:49:10,450 צו פאָרן עס אין די פֿונקציע? עס טוט ניט האָבן צו טאָן אַז מיד. 537 00:49:10,450 --> 00:49:15,940 אויב ין פון דעם פֿונקציע עס קיינמאָל פאקטיש מאַדאַפייז פו, 538 00:49:15,940 --> 00:49:22,660 אַזוי אויב ($ פו === 'העלא') צוריקקומען אמת.; 539 00:49:22,660 --> 00:49:26,460 נאָטיץ מיר קיינמאָל פאקטיש געווארן מאדיפיצירט דער אַרגומענט ין פון דעם פֿונקציע, 540 00:49:26,460 --> 00:49:30,010 וואָס מיטל אַז וועלכער איז דורכגעגאנגען אין ווי פו קיינמאָל דאַרף צו זייַן קאַפּיד 541 00:49:30,010 --> 00:49:32,100 ווייַל עס ס נישט מאַדאַפייינג עס. 542 00:49:32,100 --> 00:49:39,240 אַזוי די וועג פפּ אַרבעט איז די טענות זענען שטענדיק דורכגעגאנגען דורך דערמאָנען 543 00:49:39,240 --> 00:49:42,170 ביז איר פאקטיש פּרובירן צו מאָדיפיצירן עס. 544 00:49:42,170 --> 00:49:51,160 איצט אויב איך זאָגן $ פו + +; עס וועט איצט מאַכן אַ קאָפּיע פון ​​דער אָריגינעל פו און מאָדיפיצירן די קאָפּיע. 545 00:49:51,160 --> 00:49:53,090 דאס סאַוועס עטלעכע מאָל. 546 00:49:53,090 --> 00:49:58,210 אויב איר ניטאָ קיינמאָל רירנדיק דעם מאַסיוו מענגע, איר קיינמאָל פאקטיש מאָדיפיצירן עס, 547 00:49:58,210 --> 00:50:02,360 עס טוט נישט דאַרפֿן צו מאַכן די קאָפּי, 548 00:50:02,360 --> 00:50:06,640 וועראַז אויב מיר נאָר שטעלן דעם אַמפּערסאַנד אַז מיטל עס טוט נישט אַפֿילו קאָפּיע עס 549 00:50:06,640 --> 00:50:08,640 אַפֿילו אויב איר טאָן מאָדיפיצירן עס. 550 00:50:08,640 --> 00:50:10,680 דאס אָפּפירונג איז גערופן קאָפּיע-אויף-שרייַבן. 551 00:50:10,680 --> 00:50:17,380 איר וועט זען עס אין אנדערע ערטער, ספּעציעל אויב איר נעמען אַ אַפּערייטינג סיסטעם קורס. 552 00:50:17,380 --> 00:50:23,880 קאָפּי-אויף-שרייַבן איז אַ שיין געוויינטלעך מוסטער ווו איר טאָן ניט דאַרפֿן צו מאַכן אַ קאָפּיע פון ​​עפּעס 553 00:50:23,880 --> 00:50:26,650 סייַדן עס ס 'פאקטיש טשאַנגינג. יאָ. 554 00:50:26,650 --> 00:50:29,520 [תּלמיד] וואָס אויב איר האט די ינקראַמאַנט ין די פּרובירן, 555 00:50:29,520 --> 00:50:33,700 אַזוי בלויז 1 עלעמענט אויס פון 1.000 וואָלט דאַרפֿן צו זייַן געביטן? 556 00:50:33,700 --> 00:50:38,770 איך בין נישט זיכער. 557 00:50:38,770 --> 00:50:51,250 איך טראַכטן עס וואָלט קאָפּיע די גאנצע זאַך, אָבער עס ס מעגלעך עס ס קלוג גענוג אַז - 558 00:50:51,250 --> 00:51:00,020 פאקטיש, וואָס איך בין טראכטן איז ימאַדזשאַן מיר געהאט אַ מענגע וואָס קוקט ווי דאָס: $ אַררייַ2 = [ 559 00:51:00,020 --> 00:51:11,000 דעמאָלט אינדעקס 'אַ' איז אַ מענגע פון ​​[1 2 3 4], און אינדעקס 'ב' איז אַ מענגע פון ​​וועלכער. 560 00:51:11,000 --> 00:51:15,380 איך דאַרפֿן קאָמעס צווישן אַלע פון ​​יענע. ימאַדזשאַן עס זענען קאָמעס. 561 00:51:15,380 --> 00:51:21,210 דעמאָלט 'C' איז די ווערט 3. 562 00:51:24,210 --> 00:51:26,290 אָוקיי. 563 00:51:26,290 --> 00:51:33,440 איצט לאָזן ס זאָגן מיר טאָן $ באַז ($ אַררייַ2); 564 00:51:33,440 --> 00:51:36,540 ווו באַז טוט נישט נעמען דעם דורך דערמאָנען. 565 00:51:43,510 --> 00:51:47,370 אַזוי $ פו ['C'] + +; 566 00:51:47,370 --> 00:51:52,340 דאס איז אַזאַ אַ בייַשפּיל ווו מיר זענען גייט פארביי אַררייַ2 ווי אַן אַרגומענט 567 00:51:52,340 --> 00:51:57,010 און דעמאָלט עס איז מאַדאַפייינג אַ ספּעציפיש אינדעקס פון דער מענגע דורך ינקרעמענטינג עס. 568 00:51:57,010 --> 00:52:01,090 איך האָנעסטלי האָבן קיין געדאַנק וואָס פפּ איז געגאנגען צו טאָן. 569 00:52:01,090 --> 00:52:07,200 עס קענען לייכט מאַכן אַ קאָפּיע פון ​​די גאנצע זאַך, אָבער אויב עס ס קלוג, 570 00:52:07,200 --> 00:52:15,030 עס וועט מאַכן אַ קאָפּיע פון ​​די שליסלען ווו דאָס וועט האָבן זייַן בוילעט ווערט 571 00:52:15,030 --> 00:52:20,620 אָבער דאָס קענען נאָך פונט צו די זעלבע מענגע 1,2,3,4 572 00:52:20,620 --> 00:52:22,320 און דאָס קענען נאָך פונט צו די זעלבע מענגע. 573 00:52:22,320 --> 00:52:24,170 איך וועט יפּאַד עס. 574 00:52:28,900 --> 00:52:45,950 מיר פאָרן אין דעם מענגע ווו דעם באָכער פונקטן צו 3, דעם באָכער פונקטן צו [1,2,3,4], 575 00:52:45,950 --> 00:52:51,350 דעם באָכער פונקטן צו [34, ...] 576 00:52:51,350 --> 00:52:58,590 איצט אַז מיר רע גייט פארביי עס אין צו באַז, מיר זענען מאַדאַפייינג דעם. 577 00:52:58,590 --> 00:53:03,550 אויב פפּ איז קלוג, עס קען נאָר טאָן - 578 00:53:11,850 --> 00:53:18,230 מיר נאָך האבן צו קאָפּיע עטלעכע זכּרון, אָבער אויב עס זענען געווען די ריזיק נעסטעד סובאַררייַס 579 00:53:18,230 --> 00:53:21,560 מיר האט ניט דאַרפֿן צו קאָפּיע יענע. 580 00:53:21,560 --> 00:53:27,530 איך טאָן ניט וויסן אויב אַז ס וואָס עס טוט, אָבער איך קענען ימאַדזשאַן עס טאן וואָס. 581 00:53:29,050 --> 00:53:36,690 דאס איז אויך אַ שיין גרויס מייַלע פון ​​C איבער פפּ. 582 00:53:36,690 --> 00:53:40,320 >> פפּ מאכט לעבן אַזוי פיל גרינגער פֿאַר אַ פּלאַץ פון זאכן, 583 00:53:40,320 --> 00:53:45,060 אָבער איר מין פון האָבן לעגאַמרע קיין געדאַנק ווי גוט עס וועט דורכפירן 584 00:53:45,060 --> 00:53:52,530 ווייַל איך האָבן קיין געדאַנק ונטער דער קאַפּטער ווען עס ס מאַקינג די קאפיעס פון זאכן, 585 00:53:52,530 --> 00:53:55,170 אָה, איז אַז געגאנגען צו זייַן אַ קעסיידערדיק צייַט קאָפּיע, 586 00:53:55,170 --> 00:54:01,140 איז עס נאָר געגאנגען צו טוישן 1 טייַטל, איז עס געגאנגען צו זייַן אַ ראַדיקיאַלאַסלי שווער לינעאַר קאָפּי? 587 00:54:01,140 --> 00:54:03,000 וואָס אויב עס קענען ניט געפֿינען פּלאַץ? 588 00:54:03,000 --> 00:54:06,760 טוט עס דעמאָלט דאַרפֿן צו לויפן מיסט זאַמלונג צו באַקומען עטלעכע מער פּלאַץ? 589 00:54:06,760 --> 00:54:11,210 און מיסט זאַמלונג קענען נעמען אַרביטרעראַלי לאַנג. 590 00:54:11,210 --> 00:54:13,600 אין C איר טאָן ניט האָבן צו זאָרג וועגן די זאכן. 591 00:54:13,600 --> 00:54:19,780 יעדער איין שורה איר שרייַבן איר קענען שיין פיל סיבה וועגן ווי עס ס געגאנגען צו דורכפירן. 592 00:54:26,800 --> 00:54:29,150 >> זאל ס קוק צוריק בייַ די. 593 00:54:35,400 --> 00:54:37,520 ווי פייַן איז עס וואָס איר טאָן ניט האָבן צו האַנדלען מיט האַש פאַנגקשאַנז, 594 00:54:37,520 --> 00:54:39,010 לינגקט רשימות, אָדער עפּעס ווי וואָס? 595 00:54:39,010 --> 00:54:41,980 זינט ארבעטן מיט האַש טישן איז אַזוי גרינג איצט, דאָ ס אַ שפּאַס רעטעניש צו אַרבעטן אויף. 596 00:54:41,980 --> 00:54:45,920 עפענען זיך אַ טעקע גערופן וניקווע.פפּ און אין עס שרייַבן אַ פפּ פּראָגראַם 597 00:54:45,920 --> 00:54:48,330 (אויך באקאנט ווי אַ "שריפט"). 598 00:54:48,330 --> 00:54:55,700 מיר טענד צו רופן זיי סקריפּס אויב זיי ניטאָ קורץ זאכן וואָס איר לויפן אין די באַפֿעל שורה. 599 00:54:55,700 --> 00:55:02,950 בייסיקלי, קיין שפּראַך אַז איר טאָן נישט צונויפנעמען אָבער איר ניטאָ געגאנגען צו לויפן די עקסעקוטאַבלע 600 00:55:02,950 --> 00:55:05,920 בייַ די באַפֿעל שורה, איר קענען רופן אַז עקסעקוטאַבלע שריפט. 601 00:55:05,920 --> 00:55:08,510 איך קען נאָר ווי גוט שרייַבן אַ C פּראָגראַם וואָס טוט דאָס, 602 00:55:08,510 --> 00:55:12,300 אָבער איך טאָן ניט רופן עס אַ שריפט זינט איך ערשטער צונויפנעמען עס און דעמאָלט לויפן די ביינערי. 603 00:55:12,300 --> 00:55:15,480 אבער דעם פפּ פּראָגראַם מיר רע געגאנגען צו רופן אַ שריפט. 604 00:55:15,480 --> 00:55:23,830 אָדער אויב מיר געשריבן עס אין פּיטהאָן אָדער פּערל אָדער נאָדע.דזשס אָדער קיין פון יענע זאכן, 605 00:55:23,830 --> 00:55:26,500 מיר 'ד רופן זיי אַלע סקריפּס ווייַל איר לויפן זיי בייַ די באַפֿעל שורה 606 00:55:26,500 --> 00:55:30,040 אָבער מיר טאָן נישט צונויפנעמען זיי. 607 00:55:30,860 --> 00:55:33,400 מיר קען טאָן דעם שיין געשווינד. 608 00:55:36,960 --> 00:55:41,480 מיר זענען נישט געגאנגען צו נוצן אַרגוו. זאל ס נאָר קלאַפּ דורך דעם. 609 00:55:41,480 --> 00:55:45,730 רוף עס יינציק, שרייַבן אַ פּראָגראַם. 610 00:55:45,730 --> 00:55:49,400 איר קענען יבערנעמען אַז די אַרייַנשרייַב וועט אַנטהאַלטן איין וואָרט פּער שורה. 611 00:55:49,400 --> 00:55:52,020 פאקטיש, אַרגוו וועט זייַן שיין נישטיק צו נוצן. 612 00:56:03,730 --> 00:56:06,720 וניקווע.פפּ. 613 00:56:08,550 --> 00:56:13,750 ערשטער זאַך ערשטער, מיר ווילן צו טשעק אויב מיר האָבן שוין דורכגעגאנגען 1 באַפֿעל-שורה אַרגומענט. 614 00:56:13,750 --> 00:56:20,900 פּונקט ווי איר וואָלט דערוואַרטן אַרגק און אַרגוו אין C, מיר נאָך האָבן יענע אין פפּ. 615 00:56:20,900 --> 00:56:33,900 אַזוי אויב ($ אַרגק! == 2) דעריבער איך וועט ניט האַנדלען מיט דרוקן אַ אָנזאָג אָדער עפּעס. 616 00:56:33,900 --> 00:56:37,340 איך וועט נאָר אַרויסגאַנג, טעות קאָד פון 1. 617 00:56:37,340 --> 00:56:41,340 איך קען אויך צוריקקומען 1. 618 00:56:41,340 --> 00:56:53,180 ראַרעלי אין פפּ זענט איר אין דעם שטאַט ווו מיר ניטאָ בייַ - 619 00:56:53,180 --> 00:56:57,820 יוזשאַוואַלי איר ניטאָ אין אַ פֿונקציע גערופן דורך אַ פֿונקציע גערופן דורך אַ פֿונקציע גערופן דורך אַ פֿונקציע. 620 00:56:57,820 --> 00:57:02,070 און אויב עפּעס גייט פאַלש און איר נאָר ווילן צו אַרויסגאַנג אַלץ לעגאַמרע, 621 00:57:02,070 --> 00:57:05,680 אַרויסגאַנג נאָר ענדס די פּראָגראַם. 622 00:57:05,680 --> 00:57:08,160 דאס אויך יגזיסץ אין סי 623 00:57:08,160 --> 00:57:10,700 אויב איר ניטאָ אין אַ פונקציאָנירן אין אַ פונקציאָנירן אין אַ פונקציאָנירן אין אַ פֿונקציע 624 00:57:10,700 --> 00:57:17,540 און איר ווילן צו נאָר טייטן די פּראָגראַם, איר קענען רופן אַרויסגאַנג, און עס וועט נאָר אַרויסגאַנג. 625 00:57:17,540 --> 00:57:23,120 אבער אין פפּ עס ס אַפֿילו מער זעלטן אַז מיר זענען אין דעם שפּיץ מדרגה. 626 00:57:23,120 --> 00:57:26,090 יוזשאַוואַלי מיר רע ין עטלעכע סאָרט פון פונקציאָנירן, אַזוי מיר רופן אַרויסגאַנג 627 00:57:26,090 --> 00:57:29,650 אַזוי אַז מיר טאָן ניט האָבן צו צוריקקומען אַרויף 1 זאַך וואָס דעמאָלט ריאַלייזיז דאָרט ס 'אַ טעות 628 00:57:29,650 --> 00:57:32,270 אַזוי אַז קערט זיך אויב וואָס אנערקענט עס איז געווען אַ טעות. 629 00:57:32,270 --> 00:57:35,270 מיר טאָן נישט וועלן צו האַנדלען מיט וואָס, אַזוי אַרויסגאַנג (1); 630 00:57:35,270 --> 00:57:38,240 צוריקקומען (1); אין דעם פאַל וואָלט זייַן עקוויוואַלענט. 631 00:57:38,240 --> 00:57:44,000 >> דעמאָלט וואָס מיר ווילן צו עפענען מיר ווילן צו פאָפּען. 632 00:57:44,000 --> 00:57:46,760 די טענות זענען געגאנגען צו קוקן שיין ענלעך. 633 00:57:46,760 --> 00:57:51,600 מיר ווילן צו פאָפּען ($ אַרגוו [1], און מיר ווילן צו עפענען עס פֿאַר לייענען. 634 00:57:51,600 --> 00:57:55,720 וואָס קערט אַ מיטל וואָס מיר רע געגאנגען צו רופן F. 635 00:57:55,720 --> 00:58:02,180 דאס קוקט שיין ענלעך צו ווי C טוט עס חוץ מיר טאָן ניט האָבן צו זאָגן טעקע *. 636 00:58:02,180 --> 00:58:06,170 אַנשטאָט מיר נאָר זאָגן $ F. אָוקיי. 637 00:58:06,170 --> 00:58:17,190 פאקטיש, איך טראַכטן דעם אַפֿילו גיט אונדז אַ אָנצוהערעניש ווי צו פפּ פונקציאָנירן גערופן טעקע. פפּ טעקע. 638 00:58:17,190 --> 00:58:23,990 וואָס דאָס איז געגאנגען צו טאָן איז לייענען אַ גאנצע טעקע אין אַ מענגע. 639 00:58:23,990 --> 00:58:29,770 איר טאָן ניט אַפֿילו דאַרפֿן צו פאָפּען עס. עס ס געגאנגען צו טאָן אַז פֿאַר איר. 640 00:58:37,450 --> 00:58:43,700 אַזוי $ שורות = טעקע ($ אַרגוו [1]); 641 00:58:43,700 --> 00:58:49,680 איצט אַלע פון ​​די שורות פון דער טעקע זענען אין שורות. איצט מיר ווילן צו סאָרט די שורות. 642 00:58:49,680 --> 00:58:52,180 ווי קענען מיר סאָרט די שורות? 643 00:58:52,180 --> 00:58:54,920 מיר סאָרט די שורות. 644 00:58:54,920 --> 00:58:58,080 און איצט מיר קענען דרוקן זיי אָדער וועלכער. 645 00:58:58,080 --> 00:59:05,580 מיסטאָמע די יזיאַסט וועג איז פאָרעאַטש ($ שורות ווי $ שורה) ווידערקאָל $ שורה; 646 00:59:05,580 --> 00:59:10,960 [תּלמיד] וואָלט נישט מיר אַפֿילו קרייַז שורות דורך רעפעראַנסינג עפּעס אין סאָרט? 647 00:59:10,960 --> 00:59:28,850 דאס איז ווו סאָרט וואָלט זייַן דיפיינד ווי פונקציאָנירן סאָרט (& $ מענגע). 648 00:59:28,850 --> 00:59:32,650 ווען איר רופן די פֿונקציע איר טאָן ניט פאָרן עס דורך דערמאָנען. 649 00:59:32,650 --> 00:59:36,900 עס ס די פֿונקציע אַז דיפיינז עס ווי גענומען עס ווי דערמאָנען. 650 00:59:36,900 --> 00:59:40,900 דאס איז פאקטיש פּונקט וואָס געגאנגען אומרעכט 651 00:59:40,900 --> 00:59:46,220 ווען מיר שטעלן אַלץ צו אונדזער סערווערס ווען מיר געגאנגען 5.3-5.4. 652 00:59:46,220 --> 00:59:53,800 אַרויף ביז 5.4, דאָס איז געווען בישליימעס גלייַך. 653 00:59:53,800 --> 00:59:58,740 א פֿונקציע טוט ניט דערוואַרטן צו נעמען עס ווי דערמאָנען, אָבער איר קענען פאָרן עס ווי דערמאָנען 654 00:59:58,740 --> 01:00:02,860 אַזוי אויב דער פֿונקציע טוט פּאַסירן צו מאָדיפיצירן עס, עס ס נאָך מאַדאַפייד. 655 01:00:02,860 --> 01:00:05,850 ווי פון 5.4, איר ניטאָ ניט געמיינט צו טאָן דעם. 656 01:00:05,850 --> 01:00:11,740 אַזוי איצט די בלויז וועג איר פאָרן דורך דערמאָנען איז אויב די פֿונקציע בפירוש טוט עס. 657 01:00:11,740 --> 01:00:19,840 אויב איר טאָן ניט ווילן עס צו מאָדיפיצירן עס, דעריבער איר דאַרפֿן צו טאָן $ קאָפּיע = $ שורות און פאָרן קאָפּיע. 658 01:00:19,840 --> 01:00:24,820 אַזוי איצט שורות וועט זייַן אפגעהיט און קאָפּיע וועט זייַן געביטן. 659 01:00:27,670 --> 01:00:31,460 פפּ.וניקווע.פפּ. איך זאל האָבן מעסט עפּעס אַרויף. 660 01:00:31,460 --> 01:00:33,190 אומגעריכט 'סאָרט'. 661 01:00:38,320 --> 01:00:43,850 עס ס געגאנגען צו זייַן עפּעס וואָס טוט דאָס פֿאַר אונדז. 662 01:00:43,850 --> 01:00:45,820 עס ס נישט אַפֿילו דאָרט. 663 01:00:45,820 --> 01:00:52,140 נאָטיץ ווען איר לייענען דעם מאַנואַל אַז דער ערשטער אַרגומענט איז דערוואַרט צו זייַן אַ מענגע 664 01:00:52,140 --> 01:00:56,490 און עס ס גענומען דורך דערמאָנען. 665 01:00:58,160 --> 01:01:03,540 פארוואס איז דאָס קאַמפּליינינג צו מיר? ווייַל איך האָבן דעם פֿונקציע סאָרט נאָך אין דאָ אַז איך טאָן ניט ווילן. 666 01:01:03,540 --> 01:01:09,210 אָוקיי, פפּ.וניקווע.פפּ. איך האט ניט פאָרן עס אַן אַרגומענט ווייַל איך טאָן ניט האָבן אַ טעקע. 667 01:01:09,210 --> 01:01:13,560 עס ס פפּ.וניקווע.פפּ אויף טעסט.פפּ. 668 01:01:13,560 --> 01:01:19,080 דאָ איז טעסט.פפּ אַלע געדרוקט אויס אין אַ פייַן אויסגעשטעלט סדר. 669 01:01:19,080 --> 01:01:24,600 נאָטיץ אַז אויסגעשטעלט סדר איז מין פון טשודנע פֿאַר אַ קאָד טעקע 670 01:01:24,600 --> 01:01:27,460 ווייַל אַלע פון ​​אונדזער ליידיק שורות זענען געגאנגען צו קומען ערשטער 671 01:01:27,460 --> 01:01:30,190 דעמאָלט זענען געגאנגען צו קומען אַלע פון ​​אונדזער 1 מדרגה ינדענטאַטיאָנס 672 01:01:30,190 --> 01:01:33,360 דעמאָלט קומען אַלע פון ​​אונדזער קיין ינדענטאַטיאָנס. 673 01:01:33,360 --> 01:01:38,620 יאָ. >> [תּלמיד] אזוי פֿאַר די מקור קאָד עס איז נישט דורכגעגאנגען דורך דערמאָנען? 674 01:01:38,620 --> 01:01:42,240 איז אַז בכלל דורכגעגאנגען דורך ווערט? 675 01:01:42,240 --> 01:01:50,240 [באָוודען] ווען איר רופן אַ פֿונקציע, עס קיינמאָל דאַטערמאַנז צי עס איז דורכגעגאנגען דורך דערמאָנען. 676 01:01:50,240 --> 01:01:53,960 עס ס די פֿונקציע דעפֿיניציע וואָס דאַטערמאַנז צי עס איז דורכגעגאנגען דורך דערמאָנען. 677 01:01:53,960 --> 01:01:59,450 און קוקן בייַ די פֿונקציע דעפֿיניציע פון ​​סאָרט אָדער נאָר קוקן אין דעם, 678 01:01:59,450 --> 01:02:02,820 עס נעמט די אַרגומענט דורך דערמאָנען. 679 01:02:02,820 --> 01:02:07,160 אַזוי ראַגאַרדלאַס פון צי איר ווילן עס צו נעמען עס דורך דערמאָנען, עס טוט נעמען עס דורך דערמאָנען. 680 01:02:07,160 --> 01:02:10,200 עס מאַדאַפייז די מענגע אין פּלאַץ. 681 01:02:10,200 --> 01:02:17,400 דאס איז נאָר נישט ערלויבט. איר רע נישט ערלויבט צו טאָן דעם. >> [תּלמיד] אָה, אָוקיי. 682 01:02:17,400 --> 01:02:22,410 [באָוודען] דאס, סאָרט איז געגאנגען צו נעמען שורות דורך דערמאָנען און מאָדיפיצירן עס. 683 01:02:22,410 --> 01:02:26,850 און ווידער, אויב איר האט ניט ווילן עס צו טאָן וואָס, איר קען מאַכן אַ קאָפּיע פון ​​סאָרט. 684 01:02:26,850 --> 01:02:35,850 אפילו אין דעם פאַל, קאָפּיע איז נישט פאקטיש אַ קאָפּיע פון ​​שורות. 685 01:02:35,850 --> 01:02:40,620 עס נאָר ווייזט צו די זעלבע זאַך ביז עס ערשטער געץ מאַדאַפייד, 686 01:02:40,620 --> 01:02:44,430 ווו עס ס ערשטער געגאנגען צו באַקומען געווארן מאדיפיצירט אין די סאָרט פֿונקציע, 687 01:02:44,430 --> 01:02:50,940 ווו, ווייַל עס ס קאָפּיע-אויף-שרייַבן, איצט אַ קאָפּיע פון ​​קאָפּיע איז געגאנגען צו זייַן געמאכט. 688 01:02:57,500 --> 01:03:04,250 איר קענען אויך טאָן דעם. אַז ס די אנדערע אָרט איר קענען זען אַמפּערסאַנד. 689 01:03:04,250 --> 01:03:07,190 איר זען עס אין פאָרעאַטש לופּס, איר זען עס אין פונקציאָנירן דעקלעריישאַנז, 690 01:03:07,190 --> 01:03:10,040 און איר זען עס ווען נאָר אַסיינינג וועריאַבאַלז. 691 01:03:10,040 --> 01:03:12,350 איצט מיר האָבן פארענדיקט גאָרנישט דורך טאן דעם 692 01:03:12,350 --> 01:03:15,600 ווייַל קאָפּיע און שורות זענען ממש די זעלבע זאַך. 693 01:03:15,600 --> 01:03:19,940 איר קענען נוצן שורות און קאָפּיע ינטערטשיינדזשאַבלי. 694 01:03:19,940 --> 01:03:25,430 איר קענען טאָן אַנסעט ($ קאָפּיע); און וואָס טוט ניט אַנסעט שורות, 695 01:03:25,430 --> 01:03:29,120 איר נאָר פאַרלירן דיין דערמאָנען צו די זעלבע זאַך. 696 01:03:29,120 --> 01:03:33,440 אַזוי ווי פון דעם פונט, איצט שורות איז דער בלויז וועג איר קענען צוטריט שורות. 697 01:03:36,450 --> 01:03:38,770 >> שאלות? 698 01:03:41,000 --> 01:03:42,460 יאָ. 699 01:03:42,460 --> 01:03:45,880 [תּלמיד] קאַמפּליטלי אַוועק טעמע, אָבער איר טאָן ניט האָבן צו נאָענט פפּ מיט די - >> איר טאָן ניט. 700 01:03:45,880 --> 01:03:47,730 אָוקיי. 701 01:03:47,730 --> 01:03:53,790 [באָוודען] איך וואָלט גיין ווי ווייַט ווי צו זאָגן עס ס שלעכט פיר צו נאָענט זיי. 702 01:03:53,790 --> 01:03:57,580 אַז ס מיסטאָמע אַ גוזמע, ספּעציעל אין אַ שריפט, 703 01:03:57,580 --> 01:04:03,740 אָבער לאָזן ס זען וואָס כאַפּאַנז אויב איך טאָן דעם. 704 01:04:03,740 --> 01:04:08,890 וואָס האט גאָרנישט. וואָס אויב איך געוואלט - [סייז] 705 01:04:13,870 --> 01:04:16,960 איך דאַרפֿן צו פאָרן אַן אַרגומענט. 706 01:04:19,000 --> 01:04:22,050 דרייען. איך גערופן עס פאַלש. 707 01:04:24,340 --> 01:04:28,310 אַזוי פפּ.וניקווע.פפּ מיט אַן אַרגומענט. 708 01:04:28,310 --> 01:04:30,980 איצט איך טאָן ניט אַפֿילו דאַרפֿן דאָס. 709 01:04:34,520 --> 01:04:37,740 איך וועט פאָרן עס אַ גילטיק אַרגומענט. 710 01:04:37,740 --> 01:04:42,050 דאס געדרוקט וועלכער עס ס דרוקן. 711 01:04:45,260 --> 01:04:50,080 איך בין דרוקן קאָפּיע און קאָפּיע טוט נישט עקזיסטירן. אַזוי שורות. 712 01:04:53,650 --> 01:04:58,270 עס געדרוקט אַלץ, און דעמאָלט באַמערקן אַלע דעם אָפּפאַל אַראָפּ דאָ, 713 01:04:58,270 --> 01:05:06,690 ווייַל אין פפּ עפּעס וואָס איז אַרויס פון פפּ Tags 714 01:05:06,690 --> 01:05:09,520 איז נאָר געגאנגען צו זייַן געדרוקט ממש. 715 01:05:09,520 --> 01:05:18,050 אַז ס וואָס HTML, עס ס אַזוי פייַן אַז איך קענען טאָן דיוו בלאַ, בלאַ, בלאַ קלאַס אָדער וועלכער, 716 01:05:18,050 --> 01:05:25,140 בלאַ, בלאַ, בלאַ און דעמאָלט טאָן עטלעכע פפּ קאָד און דעמאָלט טאָן סוף דיוו. 717 01:05:25,140 --> 01:05:36,460 און איצט דרוקן דעם איך באַקומען מיין פייַן דיוו אַרויף שפּיץ, אַלץ אַז פפּ געדרוקט, דיוו בייַ דנאָ. 718 01:05:36,460 --> 01:05:43,510 דיסאַסטראָוס ווען עפּעס ווי דעם כאַפּאַנז, וואָס איז שיין פּראָסט, 719 01:05:43,510 --> 01:05:47,930 נאָר אַ בלאָנדזשען נעוולינע בייַ די דנאָ פון טעקע. 720 01:05:47,930 --> 01:05:50,940 איר וואָלט נישט טראַכטן עס וואָלט זייַן אַז גרויס פון אַ האַנדלען 721 01:05:50,940 --> 01:05:58,660 ביז איר באַטראַכטן די פאַקט אַז מיט בראַוזערז - 722 01:05:58,660 --> 01:06:03,880 >> ווי רעדירעקץ אַרבעט אָדער בייסיקלי קיין כעדערז אַרבעט, 723 01:06:03,880 --> 01:06:07,980 ווען איר מאַכן דיין קשר צו אַ וועבזייַטל און עס סענדז צוריק אַלע די כעדערז און זאכן 724 01:06:07,980 --> 01:06:12,020 ווי ענטפער 200 אָדער ענטפער רידערעקט אָדער וועלכער, 725 01:06:12,020 --> 01:06:18,230 כעדערז זענען בלויז גילטיק ביז דער ערשטער ביטע פון ​​דאַטן איז געשיקט. 726 01:06:18,230 --> 01:06:23,140 איר קענען רידערעקט טויזנטער פון מאל, אָבער ווי באַלד ווי דער ערשטער ביטע פון ​​דאַטן איז געשיקט 727 01:06:23,140 --> 01:06:26,120 איר ניטאָ ניט געמיינט צו רידערעקט ווידער. 728 01:06:26,120 --> 01:06:31,860 >> אויב איר האָבן אַ בלאָנדזשען נעוולינע בייַ די דנאָ פון אַ טעקע 729 01:06:31,860 --> 01:06:37,260 און לאָזן 'ס זאָגן אַז איר נוצן דעם פֿונקציע און דאַן איר ווילן צו - 730 01:06:41,580 --> 01:06:52,870 זאל ס זאָגן עס ס אן אנדער טעקע אַז ס ינדעקס.פפּ און איר רעקווירע_אָנסע עפּעס - 731 01:06:52,870 --> 01:06:56,920 איך קען נישט טראַכטן פון אַ גוטע בייַשפּיל פון עס. 732 01:06:56,920 --> 01:07:04,740 די אַרויסגעבן כאַפּאַנז ווען דעם שורה אין די דנאָ געץ עקאָוד. 733 01:07:04,740 --> 01:07:08,660 איר טאָן ניט ווילן עפּעס צו האָבן געווען עקאָוד נאָך. 734 01:07:10,820 --> 01:07:15,700 אפילו כאָטש איר האט ניט אויסן אויף עפּעס געטינג עקאָוד, עפּעס האט באַקומען עקאָוד 735 01:07:15,700 --> 01:07:17,990 און אַזוי איצט איר ניטאָ ניט געמיינט צו שיקן קיין מער כעדערז 736 01:07:17,990 --> 01:07:20,030 און איר ניטאָ געגאנגען צו באַקומען טענות. 737 01:07:22,170 --> 01:07:24,420 איר נאָר טאָן ניט דאַרפֿן יענע קלאָוזינג טאַגס. 738 01:07:24,420 --> 01:07:27,420 אויב איר פּלאַן אויף טאן עפּעס מיט HTML - 739 01:07:27,420 --> 01:07:30,490 און עס ס בישליימעס גלייַך צו טאָן אַראָפּ דאָ דיוו וועלכער 740 01:07:30,490 --> 01:07:39,450 און דעמאָלט בייַ דעם פונט איר קענען אָדער איר קענען ניט אַרייַננעמען זיי. 741 01:07:39,450 --> 01:07:41,590 עס טוט ניט טאַקע ענין. 742 01:07:41,590 --> 01:07:45,450 אבער אין פפּ סקריפּס עס ס 'זעלטן צו נאָענט עס. 743 01:07:45,450 --> 01:07:50,400 ווען אַלץ איז פפּ, לעגאַמרע אַלץ, 744 01:07:50,400 --> 01:07:55,460 איר טאָן ניט טאַקע דאַרפֿן צו נאָענט עס / איר זאָל ניט נאָענט עס. 745 01:08:02,030 --> 01:08:05,720 >> דילינג מיט סטרינגס איז פיל ניסער ווי אין סי 746 01:08:05,720 --> 01:08:09,470 אין פפּ איר קענען ספּעציפיצירן אַ שטריקל מיט איין אָדער טאָפּל קוואָטעס. 747 01:08:09,470 --> 01:08:12,820 מיט איין קוואָטעס איר קענען ניט נוצן "אַנטלויפן" סיקוואַנסיז. 748 01:08:12,820 --> 01:08:17,640 קעסיידער אַנטלויפן, בלאַ, בלאַ, בלאַ. 749 01:08:19,920 --> 01:08:24,010 אַזוי פּרינטף איז זייער זעלטן אין פפּ. 750 01:08:24,010 --> 01:08:32,290 איך טרעפן איך וואָלט נוצן פּרינטף אויב איך געוואלט צו טאָן אַ סאָרט פון זאַך - אין פּסעט 5 איר געניצט ספּרינטף אָדער וועלכער. 751 01:08:32,290 --> 01:08:36,060 אבער איר ווילן צו טאָן 001.דזשפּג און 002.דזשפּג. 752 01:08:36,060 --> 01:08:40,300 אַזוי פֿאַר אַז סאָרט פון זאַך ווו איך פאקטיש ווילן צו פֿאָרמאַט די טעקסט איך וואָלט נוצן פּרינטף. 753 01:08:40,300 --> 01:08:44,689 אבער אַנדערש איך וואָלט נאָר נוצן שטריקל קאַנקאַטאַניישאַן. 754 01:08:44,689 --> 01:08:47,000 איך קיינמאָל טאַקע נוצן פּרינטף. 755 01:08:49,229 --> 01:09:00,170 מיר רע נאָר דיפערענטשיייטינג די פרטים צווישן איין קוואָטעס און טאָפּל קוואָטעס. 756 01:09:00,170 --> 01:09:07,490 די ביגאַסט חילוק איז אַז איין קוואָטעס, עס וועט זייַן געדרוקט ממש. 757 01:09:07,490 --> 01:09:15,390 עס איז קיין טשאַר דאַטן טיפּ אין פפּ, ניט ענלעך C, אַזוי דאָס איז עקוויוואַלענט צו דעם. 758 01:09:15,390 --> 01:09:17,970 זיי ניטאָ ביידע סטרינגס. 759 01:09:17,970 --> 01:09:29,180 און די פייַן זאַך וועגן איין ציטירן סטרינגס איז איך קען זאָגן 'העלא וועלט!' בלאַ, בלאַ, בלאַ, 760 01:09:29,180 --> 01:09:33,340 $ $ וואָאָאָ. 761 01:09:33,340 --> 01:09:38,260 וואָס כאַפּאַנז ווען איך דרוק דעם איז עס וועלן דרוקן עס ממש. 762 01:09:38,260 --> 01:09:40,680 זאל ס באַקומען באַפרייַען פון אַלע פון ​​אונדזער שטאָפּן. 763 01:09:40,680 --> 01:09:44,700 אַזוי ווידערקאָל $ סטר1; 764 01:09:48,569 --> 01:09:56,570 עס ממש געדרוקט אַלע פון ​​יענע זאכן: דאָללאַר וואונדער, 765 01:09:56,570 --> 01:09:58,770 באַקסלאַש ען, וואָס איר וואָלט טראַכטן וואָלט זייַן נעוולינעס - 766 01:09:58,770 --> 01:10:01,500 אַלע פון ​​יענע זאכן עס פּרינץ ממש. 767 01:10:01,500 --> 01:10:05,650 דער בלויז זאַך איר דאַרפֿן צו אַנטלויפן זענען איין קוואָטעס 768 01:10:05,650 --> 01:10:09,470 ווייַל אַנדערש עס וואָלט טראַכטן עס ס קלאָוזינג די איין קוואָטעס. 769 01:10:09,470 --> 01:10:15,050 טאָפּל קוואָטעס, גאָר אַנדערש. 770 01:10:20,300 --> 01:10:25,870 מיר שוין זען די סינטאַקס כיילייטינג איז קלוינג אונדז אויף צו וואָס ס וועגן צו גיין טעראַבלי פאַלש. 771 01:10:25,870 --> 01:10:36,190 פפּ.וניקווע. ונדעפינעד בייַטעוודיק: וואָאָאָ ווייַל דאָס איז ינטערפּראַטאַד ווי אַ בייַטעוודיק גערופן וואָאָאָ. 772 01:10:36,190 --> 01:10:42,400 טאָפּל קוואָטעס לאָזן איר אַרייַנלייגן וועריאַבאַלז אין - 773 01:10:42,400 --> 01:10:52,730 זאל ס זאָגן $ נאָמען = "ראָב"; 774 01:10:52,730 --> 01:10:58,020 אַזוי ווידערקאָל "הי, מיין נאָמען איז $ נאָמען!!"; 775 01:10:58,020 --> 01:11:09,260 עס אנערקענט דעם ווי אַ בייַטעוודיק. 776 01:11:09,260 --> 01:11:21,210 ווען איך לויפן וואָס - און איך וועל אַרייַנלייגן אַ נעוולינע - הי, מיין נאָמען איז ראָב!! און העלא וועלט!! 777 01:11:21,210 --> 01:11:24,910 דאס איז ווייַל איך קיינמאָל אַוועקגענומען די דרוק פון וואָאָאָ אויבן. 778 01:11:24,910 --> 01:11:30,020 עס איז 1 ווייַטער שריט איר קענען טאָן. 779 01:11:30,020 --> 01:11:39,250 $ מענגע = [1, 2, 3]; 780 01:11:39,250 --> 01:11:43,270 וואָס אויב איך ווילן צו דרוקן די ערשטער אינדעקס פון מענגע? 781 01:11:43,270 --> 01:11:45,150 איר טאָן $ מענגע [0]. 782 01:11:45,150 --> 01:11:49,280 די סינטאַקס כיילייטינג איז אַ קלו. וואָס איז דאָס געגאנגען צו טאָן? 783 01:11:52,320 --> 01:11:54,510 פפּ.וניקווע. 784 01:11:54,510 --> 01:11:59,860 הי, מיין נאָמען איז 1!! וואָס איז ניט וואָס איך געוואלט. 785 01:11:59,860 --> 01:12:05,050 סינטאַקס כיילייטינג לייד צו מיר. 786 01:12:05,050 --> 01:12:13,020 זאל ס 'פּרובירן' אַ '-> 1,' ב '-> 2. 787 01:12:18,450 --> 01:12:21,440 אַז ס ווי איך וואָלט האָבן צו שרייַבן עס. 788 01:12:26,350 --> 01:12:32,160 אומגעריכט איין ציטירן (ט_ענקאַפּסעד בלאַ, בלאַ, בלאַ, בלאַ, בלאַ). 789 01:12:32,160 --> 01:12:41,780 דער געדאַנק איז אַז עס ס נישט רעקאַגנייזינג דעם ווי טייל פון די מענגע. 790 01:12:41,780 --> 01:12:46,620 עס ס נישט רעקאַגנייזינג דעם ווי מענגע ינדעקסט דורך בריוו אַ. 791 01:12:46,620 --> 01:12:49,870 איר ווילן צו טאָן אַז סעראַונדאַד דורך געגרייַזלט ברייסאַז, 792 01:12:49,870 --> 01:12:54,730 און איצט וועלכער איז אין דעם געגרייַזלט בראַסע וועט זייַן יטערפּאַלייטיד, 793 01:12:54,730 --> 01:13:00,340 וואָס איז די וואָרט מיר נוצן פֿאַר מאַדזשיקאַלי ינסערטינג די וועריאַבאַלז אין די רעכט ערטער. 794 01:13:00,340 --> 01:13:04,280 איצט טאן דעם, פפּ.וניקווע, און הי, מיין נאָמען איז 1!! ווי דערוואַרט 795 01:13:04,280 --> 01:13:07,720 אָדער הי, מיין נאָמען איז ראָב!! 796 01:13:14,110 --> 01:13:23,130 איין זאַך אַז ס מין פון פייַן וועגן איין קוואָטעס איז וואָס - 797 01:13:23,130 --> 01:13:28,480 עס ס עטלעכע פּרייַז צו ינטערפּאָלאַטינג. 798 01:13:30,520 --> 01:13:35,100 אויב איר נוצן טאָפּל קוואָטעס, די יבערזעצער האט צו גיין איבער דאָס שטריקל, 799 01:13:35,100 --> 01:13:41,500 מאכן זיכער אַז ", אָה, דאָ ס אַ בייַטעוודיק. איצט איך דאַרפֿן צו גיין באַקומען אַז בייַטעוודיק און אַרייַנלייגן עס דאָ." 800 01:13:41,500 --> 01:13:48,930 אפילו אויב איר טאָן נישט נוצן קיין וועריאַבאַלז, 801 01:13:48,930 --> 01:13:52,220 גאָרנישט ין פון די טאָפּל קוואָטעס דאַרף צו זייַן יטערפּאַלייטיד, 802 01:13:52,220 --> 01:13:56,800 אָבער עס וועט נאָך זייַן סלאָוער ווייַל עס דאַרף צו גיין איבער די טאָפּל קוואָטעס 803 01:13:56,800 --> 01:14:00,130 קוקן פֿאַר זאכן וואָס דאַרפֿן צו זייַן יטערפּאַלייטיד. 804 01:14:00,130 --> 01:14:05,360 אַזוי איין קוואָטעס קענען זייַן אַ ביסל פאַסטער אויב גאָרנישט דאַרף צו זייַן יטערפּאַלייטיד, 805 01:14:05,360 --> 01:14:15,650 און איך טענד צו אַפֿילו נוצן איין קוואָטעס פֿאַר, 'הי, מיין נאָמען איז'. $ מענגע ['אַ'] סייַ ווי סייַ. 806 01:14:15,650 --> 01:14:20,430 אַז ס 'געגאנגען צו זייַן עקוויוואַלענט צו וואָס מיר האבן פריער. 807 01:14:24,840 --> 01:14:28,440 אבער עס ס אַ ענין פון ייבערהאַנט. 808 01:14:28,440 --> 01:14:34,750 אויב איר ניטאָ ניצן פפּ, איר מיסטאָמע טאָן ניט זאָרגן וועגן די גיכקייַט חילוק. 809 01:14:34,750 --> 01:14:39,480 עס איז נישט גענוג צו סיבה זיי אויס צו אָנהייבן מיט. 810 01:14:39,480 --> 01:14:43,030 >> קיין לעצט שאלות? 811 01:14:47,430 --> 01:14:51,710 >> מיר פאקטיש האט נישט אַפֿילו באַקומען דורך אַלע פון ​​אים, אָבער דעם שטאָפּן איז געווען נודנע. 812 01:14:51,710 --> 01:14:59,080 די לעצטע זאַך וואָס ס מין פון פייַן אין פפּ איז ווען איר ניטאָ דילינג מיט HTML, 813 01:14:59,080 --> 01:15:06,450 איר וועט נוצן עס אַ ביסל, אַזוי די פייַן דורכוועג סינטאַקס פֿאַר דרוקן אַ בייַטעוודיק. 814 01:15:32,400 --> 01:15:36,730 אָן פּאַטינג פפּ דאָ, דאָס איז גערופן קורץ טאַגס. 815 01:15:36,730 --> 01:15:44,330 אַפישאַלי ווי פון פפּ 5.4, דאָס איז דעפּראַקייטאַד. 816 01:15:44,330 --> 01:15:48,640 איר זענט רעקאַמענדיד צו שטעלן פפּ. 817 01:15:48,640 --> 01:15:55,770 דאס איז נאָך געשטיצט, אַזוי קורץ טאַגס מיט די 01:16:02,480 עס איז דורך פעליקייַט געשטיצט, אַזוי איר קענען נוצן די ווי איר ווילט, און זיי ניטאָ שיין באַקוועם. 819 01:16:02,480 --> 01:16:05,700 >> קיין שאלות? 820 01:16:07,780 --> 01:16:09,270 אַלע רעכט. 821 01:16:10,840 --> 01:16:13,800 >> בלייַבן קלאַסי, סאַן דיעגאָ. 822 01:16:13,800 --> 01:16:16,070 [טשאַקאַלז] 823 01:16:18,620 --> 01:16:22,660 ביי. [לאַפס] 824 01:16:24,350 --> 01:16:28,470 [אַפּלאָדיסמענטן] [לאַפס] 825 01:22:46,460 --> 01:22:49,460 >> [CS50.TV]