אהלן,
אם נצא מנקודת הנחה שמערכת הקבצים בכללותה היא גם בתצורה של מחלקה,
אני מסתבכת עם הקונספט של הדפסת המחלקה באמצעות הפקודה str. באידיאל הייתי רוצה שתודפס ממש כל המערכת - כל תיקיה ותתי תיקיותיה, תתי התיקיות שלהם והקבצים תחתיהם.
א-ב-ל, וכאן אני אנסה להסתיר למקרה שזה ספוילר -
תקציר
לא נראה לי שיש דרך אחרת לעשות את זה מלבד רקורסיה… נניח שלמחלקת מערכת הקבצים יש תכונה שהיא מבנה נתונים שמאכלס את כל הקבצים. למשל רשימה שנראית כך (כאשר פולדר זה סוג נתונים שמאכלס בתוכו קבצים בינארים או קבצי טקסט, או תיקיות אחרות): [TextFile, Folder, BinaryFile, File, Folder, Folder]. פעולת ה-str תעבור על מבנה הנתונים ותכניס לסטרינג כל פעם את File.path. הבעיה היא שאם הקובץ שעליו היא עוברת הוא תיקיה, היא צריכה להיכנס פנימה ולהדפיס גם את מה שתחתיו, וכן הלאה אם היא פוגשת גם תחת התיקיה הזו עוד תיקיות. בקיצור - נשמע לי כמו רקורסיה.
האם סיבכתי את עצמי לחלוטין ויש דרך יותר פשוטה להגיע לזה?!
תודה מראש למי שהצליח\ה להגיע עד הלום!