בתשובה לעומר, 17/06/07 23:23
הנוער של ימינו 447548
אולי כדאי להעיר שוב שהדוגמה (הפשוטה) של for_each שהבאתי קודם באה בעיקר להציג עד כמה התחביר של רובי אלגנטי לעומת מה שקורה במקומות אחרים. שימוש ב-STL, לפחות השימוש שיצא לי לעשות, דורש קצת עבודת הכנה והוא אף פעם לא אלגנטי באותה המידה. זו לא תחרות של "מה השפה שלי יודעת לעשות ששלך לא" (אבל מה שכן, האם ב-++C יש יכולות אינטרוספקטיביות?)
הנוער של ימינו 447554
(למיטב זכרוני, רק בהרחבות שפה של Visual C++ של מייקרוסופט. בשפה עצמה אין אינטרוספקציה, ואין טעינה דינאמית כמו ב-Java).
הנוער של ימינו 447779
מה הן יכולות אינטרוספקטיביות?
הנוער של ימינו 447799
גישה לעצם המתאר את המחלקה. בדרך כללל זה נותן גישה לשם המחלקה, לעצמים המחזיקים את המתודות שלה וכו'. זה גם מאפשר לטעון באופן דינמי מחלקות בזמן ריצה (למשל, לקרוא שם של מחלקה מקובץ קונפיגורציה, למשל שימוש ב-Factory שונה לכל מערכת הפעלה, עבור מחלקות המימוש של הספריה הגרפית. ברגע שיש לנו את שם המחלקה, נשתמש בטוען מחלקות: ב-Java זהו ה-ClassLoader, כדי ליצור מופע חדש של עצם מהמחלקה הנ"ל), ואפילו להפעיל מתודות לא דרך הממשק הרגיל של

object.someMethod(arg1, arg2)

אלא על ידי שימוש במחלקה ש"מפעילה" את המתודה. למשל

invoker.invoke(object, methodName, argsArray)

ובטח יש עוד דברים שלא הזכרתי כאן.
הנוער של ימינו 447880
תודה.

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים