מחברת 3 סכום מספרים

היי, בעיקרון פתרתי את התרגיל אבל מטריד אותי הנושא של הגדרת המשתנה מחוץ לפונ’ בתוכנית הראשית, ומתי זה עובד ומתי לא, כלומר מתי המשתנה נשמר ואפשר להשתמש בו. אני לא רוצה לעשות ספויילר למי שפותר את התרגיל, אז יש דרך להעלאות לפה תמונה מוסתרת?

היי, הנה כמה כללי אצבע שאני מקווה שיעזרו:

  1. מותר לגשת למשתנים שהוגדרו מחוץ לפונקציה למטרות קריאה* (בלי לשנות אותם).
  2. משתנה שהוגדר בחתימת הפונקציה או בגוף הפונקציה נמחק ברגע שמתבצע return או שהפונקציה מסתיימת.
  3. ניתן “להנגיש” לעולם מחוץ לפונקציה ערכים שחושבו בתוך הפונקציה בעזרת return

* כרגע אין לנו מספיק שפה משותפת כדי שאוכל להסביר למה לקריאה כן ולכתיבה לא, או מתי כתיבה כן יכולה לעבוד. בכל מקרה נחשב מאוד לא מנומס לשנות משתנה שנמצא מחוץ לפונקציה, מכיוון שפונקציה אמורה להיות יחידה סגורה, והסתמכות על State שמתעדכן מחוצה לה שובר מאוד את ההנחה הזו.

2 לייקים

הבנתי, הבעיה מסתבר היא שכן שיניתי את המשתנה מבחוץ. תודה רבה