כיצד לבדוק האם נוצר אובייקט בתוכנית

תגיות:
  1. האם יש דרך לבדוק האם עד כה בתוכנית שלי נוצר אובייקט שמכיל תכונה מסוימת?

למשל - עבור התרגיל היררכיה : ניתן לי path מסוים, שמתחיל ב /week8.
אני רוצה לבדוק האם יש לי כבר בתוכנית אובייקט מסוג קובץ/תיקיה שהשם שלו עונה לweek8.

  1. האם יש דרך להפוך מחרוזת לאובייקט? כלומר בהינתן מחרוזת מהמשתמש אני רוצה לגשת לאובייקט בשם זה.

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

אתה יכול לייצר מחלקה שמנהלת state

ממש בגדול אפשר לממש משהו כזה, אבל נשמע לי overkill מטורף

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

אבל במקרה פשטני יותר - מה שמשתמש חיצוני מזין זה תמיד בתצורת מחרוזת. נניח יש לי משתנה:
a = 13

ומשתמש חיצוני הזין דרך פקודת input שהוא רוצה לקרוא את משתנה ‘a’. מה השיטה המהירה ביותר לעשות את זה?

(בהקבלה - משתמש הזין את השם של הקובץ, אני רוצה לגשת לאויבטק מסוג קובץ שקוראים לו ככה)

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

מה כן, אני מבין שהיית רוצה למשתמש שלך תהיה אפשרות לערוך את ההגדרות של הדרדסים שלך או לבצע עליהם פעולות. במקרה כזה - כל דרדס שנוצר הייתי מוסיף לרשימת דרדסים בכפר.
כאשר המשתמש מזין את שם הדרדס עליו ירצה לבצע פעולה, התכנית תבדוק עבור כל דרדס ברשימה האם שמו == לקלט של המשתמש. במידה וכן - בצע עליו כך וכך.

נשמע כמו צורך להשתמש ב
eval()…
אבל אני לא אמרתי לך את זה
כי אסור להשתמש בזה…
:grin::grin: