רעדנער 1: רעכן איצט אַז איך געוואלט צו געבן קראַצן די פיייקייַט צו ניסן ווי געזונט. נו, מיין ערשטער ינסטינגקץ וואָלט זיין, ווי פריער, צו מאַכן אַ בלאָק, רופן דעם ניסן. ספּעציפיצירן אַז איך 'ד ווי צו ספּעציפיצירן מיט אַ נומער ווי פילע מאל קראַצן זאָל ניסן. דערנאָכדעם געבן אַ קליק גוט. זאל מיר מאַך דעם איבער צו די רעכט צו געבן זיך עטלעכע מער פּלאַץ. און דעריבער לאָזן מיר ווידער גיין צו איבערחזרן, אָוועררידינג די פעליקייַט 10 מיט N. זאל מיר גיין צו די זאָגן סטאַטעמענט און זאָגן ניט "העלא", אָבער "אַטשאָאָ" פֿאַר איין רגע. דעריבער נעמען אַ מאָמענט ס רעספּיט. און אַז ס עס. איצט איך האָבן אַ בלאָק גערופן ניסן, ווי געזונט ווי אַ בלאָק גערופן הוסט. אַזוי אַז איצט אויב איך ווילן סקראַטטש צו הוסט און ניסן, איך קענען פשוט ספּעציפיצירן אַ ניסן ונטער זיין הוסט. דרייַ מאָל, זאָגן. גיט די גרין פאָן, און איך זאָל זען טאַקע, הוסט, הוסט, הוסט. נאכגעגאנגען דורך אַטשאָאָ, אַטשאָאָ, אַטשאָאָ. מיין מערסט רעאַליסטיש סנעעזעס צו דאַטע. איצט באַמערקן עפּעס אַז ס שלעכט וועגן דעם פּלאַן. אפילו כאָטש איך האט ניט אַוטרייט דופּליקאַט קיין רעטעניש ברעקלעך, איך באשטימט דראַגד און דראַפּט שיין פיל דער זעלביקער רעטעניש ברעקלעך, געבן די איין פֿונקציע אַ טאָמיד אַזוי אַ ביסל פאַרשידענע נעמען ווי די אנדערע, ניסן קעגן הוסט. אַזוי דעם איז אַ געלעגנהייט פֿאַר פאַקטערינג אויס עטלעכע פּראָסט קאָד. טאקע, באַמערקן די בלויז חילוק צווישן הוסט און ניסן איז אַז איינער האט סקראַטטש געזאגט "הוסט," די אנדערע פון ​​וואָס געזאגט "אַטשאָאָ." אַזוי קען ניט מיר עפעס גענעראַליזע דעם קאָד אין אַזאַ אַ וועג אַז מיר פשוט ספּעציפיצירן וואָס וואָרט מיר וועלן צו קראַצן צו בלייַבן? און דיפּענדינג אויף אַז וואָרט, עס וועט יפעקטיוולי זיין אַ הוסט אָדער עס וועט זיין אַ ניסן. אַזוי לאָזן ס גיין פאָרויס און טאָן דעם. זאל ס מאַכן א דריט פונקציאָנירן און רופן דעם איינער, "זאָגן." און איך ווילן עס צו אָננעמען, ניט נאָר אַ נומער, אָבער דעם צייַט אַ שטריקל, אַנדערש באקאנט ווי אַ וואָרט אָדער פראַזע. און מיר וועט רופן דעם "וואָרט." און וואָס טאָן איך ווילן צו זאָגן? און ווי פילע מאל טאָן איך ווילן צו זאָגן דעם וואָרט? גוט לאָזן ס ספּעציפיצירן אַ נומער, פאַך עס ווידער N. און פּונקט צו מאַכן דעם בלאָק מער ליינעוודיק, לאָזן מיר גיין פאָרויס און לייגן אַ פירמע גערופן "מאל." אַזוי אַז ווען איר לייענען דעם בלאָק פון לינקס צו רעכט, עס ממש זאגט "זאָגן וואָרט N מאל." איצט לאָזן מיר גיין פאָרויס און גיט גוט. און איצט לאָזן מיר ינסטרומענט דעם בלאָק, ווידער ניצן אַ איבערחזרן בלאָק. ספּעסאַפייינג אַז איך ווילן עס צו איבערחזרן N מאל. ספּעסאַפייינג אַז איך ווילן צו זאָגן עפּעס פֿאַר איין רגע. אָבער גאַנץ ווי עפּעס שווער קאָדעד אין דעם פֿונקציע, לאָזן ס אַנשטאָט שלעפּן און קאַפּ די וואָרט אַז ס שוין פארביי ין זאל ס דעמאָלט וואַרטן פֿאַר איין רגע. און איצט לאָזן ס גיין צוריק און פֿאַרבעסערן מיין ימפּלעמענטאַטיאָנס פון ניסן און הוסטן, אַזוי אַז זיי רופן דעם פונקציאָנירן אין קער. אַזוי לאָזן ס וואַרפן אַוועק דעם קאָד. זאל ס וואַרפן אַוועק דעם קאָד. זאל ס גיין צו מיין מנהג בלאָק און שלעפּן אין "זאָגן". און דרוקן אין דער אַרגומענט פון "הוסט" דרייַ מאָל. און אַראָפּ דאָ לאָזן ס שלעפּן אין "זאָגן," "אַטשאָאָ" דרייַ מאָל. אַזוי איצט לאָזן מיר גיין צוריק און ראַפינירן מיין ימפּלעמענטאַטיאָנס פון הוסט און ניסן, אין אַזאַ אַ וועג אַז די צוויי פאַנגקשאַנז רופן דעם דריט פֿונקציע, דערמיט מינאַמייזינג די סומע פון דופּליקאַט קאָד. אַזוי לאָזן ס ממש וואַרפן דעם קאָד אַוועק. זאל ס וואַרפן דעם קאָד אַוועק. און דעם צייַט, לאָזן ס פשוט ספּעציפיצירן אַז הוסט זאָל זיין ימפּלאַמענטאַד דורך געזאגט "הוסט" עטלעכע נומער N פון מאל. און סימאַלערלי, קענען מיר גיין צוריק און שייַעך-מאַכשער ניסן אַזוי אַז עס ניצט זאָגן מיט אַן אַרגומענט פון "אַטשאָאָ" N מאל. אַזוי וואָס האָבן מיר געטאן? מיר 'ווע דערקענט די קאָד אַז איז פּראָסט צו ביידע אונדזער הוסט און אונדזער ניסן פאַנגקשאַנז, פאַקטאָרעד עס אויס אין אַ נייַ דריט פונקציאָנירן, און דעמאָלט ריריטאַן הוסט און ניסן אין אַזאַ אַ וועג אַז זיי רופן אַז דריט און נייַ פֿונקציע. איצט מיר האָבן לעגאַמרע געמאכט דעם גאַנץ פּראָגראַם מער קאָמפּליצירט ווי עס טאַקע באדערפענישן צו זיין. נאָך אַלע, אין די סוף פון די טאָג, מיר נאָר דאַרפֿן סקראַטטש צו הוסט דרייַ מאָל און ניסן דרייַ מאָל. און מיר קען האָבן געטאן אַז מיט נאָר אַ ביסל רעטעניש ברעקלעך. אבער ווי אונדזער מגילה באַקומען פיל מער קאָמפּליצירט, און אונדזער מגילה מער סאַפיסטאַקייטיד, דעם טעכניק פון פאַקטאָרינג אויס פּראָסט קאָד, אָדער כייראַרקאַקאַל דיקאַמפּאָוזינג דיין פּראָגראַם אין קלענערער פֿונקציע, יעדער פון וואָס רופן אנדערע פאַנגקשאַנז, איז אַ זייער קאַמפּעלינג טעכניק. ווייַל עס וועט ענשור אַז אייער קאָד, אפילו ווי עס געץ מער קאָמפּליצירט, בלייבט גרינג צו דערהייַנטיקן און אויך זייער ליינעוודיק. טאקע, באַטראַכטן די סוף רעזולטאַט. ווען די גרין פאָן איז קליקט, הוסט דרייַ מאָל, ניסן דרייַ מאָל. און אַז ס עס. אין פאַקט, זאל ס טאָן פּונקט אַז. גיט די גרין פאָן און מיר באַקומען איין הוסט, צוויי קאָוגהס, דרייַ קאָוגהס. נאכגעגאנגען דורך, מיר האָפֿן, אַמאָל ניסן, צוויי סנעעזעס, און א דריט ניסן. האָפענונג ער געץ בעסער באַלד.