אבידות ומציאות - תרגיל השלמה 1

היי,
אני יושב על התרגיל אבידות ומציאות מאז שהוא פורסם ולא מצליח לפתור בעיה ספציפית שנראית בלתי פתירה.
מימשתי את find ואת use ושניהם עובדים טוב בנפרד כאשר מעבירים לכל אחד מהם את הפרמטרים שלו.

כאשר כותבים אותם אחד אחרי השני כמו בדוגמה שבתרגיל, use מקבל כפרמטר את הפונקציה file_printer (במקום רשימת הקבצים). חשבתי לזהות אם מועברת לו פונקציה, ואם כן, להעביר במקומה את רשימת הקבצים שהוחזרה מ-find אבל המשתנה הזה לא קיים בתוך use.
בקיצור אני קצת אבוד אשמח להכוונה :slight_smile:

תנסה לקרוא פה :slight_smile:

כן קראתי את זה עד הסוף, האמת כבר פעמיים. וגם את יתר החומרים שצורפו באשכול על Decorators.
אני עובד עם הדיבאגר ואין לי מושג מה קורה, אלו השלבים של הדיבאגר עד שיש שגיאות:

  1. מדלג בין כותרות שתי הפונקציות use ו-find
  2. עובר ל-@find ואחר כך חזרה לפונקציה find
  3. מריץ את הקוד בתוך הפונקציה שיוצר את רשימת הקבצים
  4. עובר לכותרת של פונקציה פנימית, ואז ישר לשורת ה-return שלה (לא לפונקציה שעוטפת את הפונקציה “המקושטת”).
  5. מדלג לuse@ ואז לפונקציה use עצמה
  6. מריץ את הפונקציה עצמה (כאשר טרם הועבר לפונקציה הפרמטר files).

זהו, מאחר שהפונקציה מתחילה לרוץ ללא הפרמטר יש שגיאות.

אשמח לסיוע מהסגל לפני שהזמן להגיש מגיע :slight_smile:

לצערי אני עובד על החומרים לשבועות הקרובים אז אין לי פנאי לסייע אישית בהתראה קצרה.
האם הצצת בשאלות קשורות ב־Stackoverflow?

כן.
קראתי גם שאלה אחרת שבמקרה יש אליה קישור בראש העמוד בקישור שאתה שלחת.
אני עובד בדיוק כמו שהיה כתוב בתשובות ובחומרים על decorators שצורפו.
עטפתי את הפונקציה “העוטפת” בעוד פונקציה (שהיא מקבלת את הפונקציה “המקושטת”). השתמשתי ב-* והעברתי בתוך find את רשימת הקבצים ל-files. נראה שיש משהו שצריך לדעת ואני לא יודע ולא מצליח למצוא את זה.

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

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

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

מאמין שיבדק לך התרגיל ותוכל לדעת לפי ההערות עליו