[Powered by Google Translate] דוד דיסיורסיאָ: אזוי אַ וויכטיק באַגריף צו אָנכאַפּן אין פּראָגראַממינג איז דער געדאנק פון פאַרנעם. פאַרנעם קענען זייַן דיפיינד ווי דער קאָנטעקסט אין וואָס אַ בייַטעוודיק איז קענטיק אָדער צוטריטלעך. פֿאַר בייַשפּיל, לאָזן ס זאָגן מיר האָבן אַ פֿונקציע, הויפּט, וואָס איז געמיינט צו ינקראַמאַנט אַ בייַטעוודיק, X, 1-2. ווי מיר קענען זען, הויפּט יניטיאַליזעס X צו איינער, פּרינץ אויס עטלעכע טעקסט, דאַן לויפט די פֿונקציע ינקראַמאַנט, איידער דרוק מער טעקסט. אויב דאָס פונקציאָנירן געווען צו לויפן ריכטיק, עס וואָלט דרוק אויס X ווי 2. זאל ס פּרובירן עס. אַזוי, ווי איר קענען זען, הויפּט טוט ניט טאָן וואָס מיר דערוואַרט צו. עס קערט די ווערט 1, אלא ווי די 2 מיר דערוואַרט. די סיבה פֿאַר דעם באַג קענען זייַן דערקלערט דורך פאַרנעם. אין די פֿונקציע, הויפּט, מיר ינישאַלייזד X בלויז ין די פֿונקציע. אין אנדערע ווערטער, די בייַטעוודיק X איז דערקלערט לאָוקאַלי ין די פונקציאָנירן, הויפּט, און איז נישט צוטריטלעך אַרויס פון די פֿונקציע. בלויז הויפּט קענען צוטריט X אין דעם סיטואַציע. ווען מיר רופן ינקראַמאַנט מיר טאָן ניט פאָרן X ווי די אַרייַנשרייַב, אָבער בלויז אַ קאָפּיע פון ​​X. ווי אַ רעזולטאַט פון דעם, די פֿונקציע ינקראַמאַנט נאָר מוסיף די ווערט 1 צו אַ קאָפּיע פון ​​דעם ווערט פון X. אבער נישט צו X זיך. ווען מיר צוריקקומען צו הויפּט, X זיך האט נישט געביטן אין אַלע. אַזוי דרוקן אויס X וועט נאָר טראָגן די ווערט פון 1. גוט, דעריבער אַז בלעטער די קשיא: ווי זאָל מיר פאַרריכטן דעם פֿונקציע? איינער לייזונג איז ווייל ינקראַמאַנט צוריקקומען אַ ווערט. אין דעם וועג, די פֿונקציע ינקראַמאַנט וועט געבן אונדז צוריק אַן ינטעגער. אַזוי דאָ ס אונדזער ריווייזד קאָד מיט די בייַטנ לויט דער ריי ינקראַמאַנט פונקציאָנירן. דאָ, מיר אַנשטאָט אומגעקערט די X + 1, אלא ווי נאָר סוף מיט X זייַענדיק גלייַך צו X + 1. אויך, נעמען באַמערקן אַז מיר ריפּלייסט דער רעזולטאַט פון ינקראַמאַנט, פריער פּאָסל, מיט ינט, סטאַטינג אַז ינקראַמאַנט וועט איצט פאָרן צוריק אַן ינטעגער ווערט. איצט, נאָך ינקראַמאַנט לויפט, עס וועט צוריקקומען מיט אַ ווערט פון 2, פּונקט ווי מיר בדעה. אן אנדער סיטואַציע אַז דעמאַנסטרייץ פאַרנעם ס וויכטיקייט איז אין סקאָפּעלאָאָפּ.ק. אין דעם קאָד, מיר האָבן אַ פֿאַר שלייף אין וואָס די בייַטעוודיק גאַנץ איז ינישאַלייזד בעשאַס יעדער שריט. ליידער, דאָס קאָד טוט נישט צונויפנעמען. דאס איז ווייַל די בייַטעוודיק גאַנץ פאקטיש טוט נישט עקסיסטירן אַרויס די פֿאַר שלייף. וועריאַבאַלז דערקלערט ין לופּס בלויז יגזיסץ ין די שלייף זיך און איז דעמאַנסטרייטיד אין אונדזער טעות אָנזאָג, גאַנץ אַנדיקלערד. די בייַטעוודיק גאַנץ האט נאָך צו זייַן דערקלערט ין דער פאַרנעם פון די פֿונקציע הויפּט. דערצו, בעשאַס יעדער יטעראַטיאָן פון אונדזער פֿאַר שלייף, מיר זענען רעיניטיאַליזינג אונדזער גאַנץ צו 0. דאס זיך טוט ניט האַלטן דעם קאָד פון קאַמפּיילינג, אָבער עס וואָלט פאַרמייַדן גאַנץ פון אלץ סאַמינג צו אַ ווערט פאַרגאַנגענהייַט 1. ווידער, וואָס איז דער בעסטער וועג צו פאַרריכטן דעם? איינער פון די גרינגער מעטהאָדס כולל געמאכט גאַנץ היגע צו די פֿונקציע, הויפּט, אלא ווי צו די שלייף זיך. דאס וועט גאַנץ צו פאקטיש ינקראַמאַנט, און לעסאָף, לאָזן עס צו זייַן געדרוקט נאָך די פֿאַר שלייף. אן אנדער טעכניק וואָס איך וועט נאָר בעקיצער סאַמערייז וואָלט זייַן די באַניץ פון גלאבאלע וועריאַבאַלז. גלאבאלע וועריאַבאַלז זענען וועריאַבאַלז וואָס זענען דערקלערט פאר הויפּט אַז טייַנען זייער ווערט איבער די גאנצע פּראָגראַם. פון קורס, פאַנגקשאַנז קענען טוישן די ווערט פון אַ גלאבאלע, אָבער זיי טאָן ניט גיין אויס פון פאַרנעם ווי היגע וועריאַבאַלז. אבער, ניצן גלאבאלע וועריאַבאַלז טענדז צו זייַן פראַונד אויף ווי שלעכט פּלאַן, זינט עס זענען בעסער וועגן פון ייַנטיילונג דאַטן צווישן פאַנגקשאַנז. פֿאַר בייַשפּיל, ניצן פּוינטערז. אבער מער אויף אַז אן אנדער צייַט. צום סוף, עס ס וויכטיק צו האָבן אַ פארשטאנד פון פאַרנעם אין דעם קאָנטעקסט פון די קאָמפּיוטער ס זכּרון, אָדער באַראַן. ווען מיר ויספירן אַ פּראָגראַם, היגע וועריאַבאַלז און פאַנגקשאַנז זענען צוגעגעבן צו אַ ספּעציפיש אָרט אין דער באַראַן גערופן די אָנלייגן. ווי פאַנגקשאַנז קריק, די אָנלייגן ראָמען פון די וועריאַבאַלז זענען יפעקטיוולי אַוועקגענומען פון דעם אָנלייגן פריינג אַרויף מער זכּרון. אַזוי ווען ריוויוינג פאַרנעם, מאַכן זיכער איר געדענקען די דרייַ שליסל פונקטן. איינער, פאַרנעם קענען זייַן אָדער היגע אָדער גלאבאלע. עס דעפּענדס אויף ווו די בייַטעוודיק איז דערקלערט. צוויי, וועריאַבאַלז דערקלערט אָדער ינישאַלייזד אין פאַנגקשאַנז זענען היגע צו אַז פונקציאָנירן און קענען ניט זייַן געביטן דורך אנדערע פאַנגקשאַנז, בייַ מינדסטער נישט אָן ניצן פּוינטערז. צום סוף, וועריאַבאַלז זענען אויך היגע צו לופּס וואָס זענען דערקלערט ין. די וועריאַבאַלז זענען נישט צוטריטלעך אַרויס פון די שלייף. אַז ס אַלע פֿאַר איצט אויף פאַרנעם. דאַנק פֿאַר וואַטשינג.