אובייקט :: Lexical.

סוכר תחבירי עבור נתונים אובייקט אובייקט קל ועוד
הורד עכשיו

אובייקט :: Lexical. דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Scott Walters
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~swalters/Math-Preference-SVD-0.01/lib/Math/Preference/SVD.pm

אובייקט :: Lexical. תגים


אובייקט :: Lexical. תיאור

סוכר תחבירי עבור נתוני מקרה אובייקט קל ועוד אובייקט :: Lexical היא מודול Perl המספק סוכר תחבירי כדי ליצור אובייקט. לאנורמליים משתנים שלי משמשים למשל נתונים. $ זה קרא באופן אוטומטי את ערימת הארגומנט. זה בעקבות "אמיתי" oo שפות, שבו קוד המשתמש לא צריך לענות על עצמו לסייע לשפה ליישם אובייקט. Normal OO Perl קוד הוא מכוער, קשה לקרוא, מייגע לסוג, ואת השגיאה נוטה. תחביר $ Self-{שדה> הוא מסורבל, ושימוש בשדה אובייקט עם מובנה, כמו PUSH (), דורש תחביר מעבר למתכנתים Perl של Novice: Push @ {$ Self-{שדה}}, $ ערך>. שמות שדות איות תוצאות שגויות קשה למצוא באגים: החשיש autovivicates, ולא "יש להכריז על" משתנים "אזהרה () מחזיר אובייקט חדש שהשתרע על האובייקט הנוכחי, ומכיל את כל השיטות שהוגדרו רק. האובייקט הוחזר הוא סימן מסמל מבורך (stash) הפניה, אשר פועל כמו התייחסות חשיש מבורך עבור רוב המטרות. במילים אחרות, זהו אובייקט רגיל. () לוקח טיעון אופציונלי: שם החבילה האובייקט נוצר הוא שייך. אם השיטה החדשה () קורא את שם המחלקה של ערימת הארגומנט, שם מחלקה זה צריך להיות מועבר למשל (), כדי לתמוך ביצירת subclasses של הכיתה שלך. זה דומה לפעולה של ברך (), למעט מופע () תקרא את שם המחלקה של המחסנית עבורך אם אתה לא. שיטת השימוש :: קו לקסיקלי לוקח טיעונים אופציונליים: "Nononlex" מציין כי לא- לא צריך להעביר שיטות מוגדרות. שיטות מוגדרות באמצעות * שם = משנה {} ושם משנה {} לא תועבר. אם ניתן לציין את SUGROUTInes בצד של BUNG החדש {{}, יש לציין אפשרות זו, או אחרת התפעול ייעלמו במסתוריות. "Noexport" מציין את השיטה () ואת הדוגמה () לא צריך להיות מיוצא לתוך מרחב השמות שלך. כדי להגיע בפונקציות אלה, תצטרך להעפיל את שמותיהם: אובייקט :: Lexical :: שיטה () ואובייקט :: Lexical :: מופע (), בהתאמה. "Nowrap" מציין כי שיטות צריך להיות עטוף ההיגיון כי קורא $ זה באופן אוטומטי, כפי שהם מועברים לתוך הסמל החדש שלהם. אם אתה רוצה להתייחס $ $ $ _ , או שאתה רוצה לעבד את זה בעצמך, או שאתה רוצה לשמור על השימוש בזיכרון נקוב עם אובייקטים נורמליים, השתמש ב- Post.Instance () הוא הלב של מודול זה: lexice scoped שיטות (Codefs המוחזקות במשתנים שלי) ושיטות המוקמות לתוך טבלת הסמל מועברות למרחב שמות חדש שנוצרו רק עבור מקרה אובייקט זה. עטיפה דקה ממוקמת סביב כל ערך טבלה סמל במרחב שמות זה שקורא את ההתייחסות לאובייקט הנוכחי למשתנה שלנו בשם $ זה. מספר אובייקטים עצמאיים ניתן להחזיר על ידי חדש (). על ידי הגדרת שיטות בצד בלוק של השיטה החדשה (), כל אובייקט מוחזר יש עותקים פרטיים משלה של כל משתנה שלי. זה משתמש בתכונה "סגול Lambda" של Perl. סגירה היא קוד שמחזיקה הפניות למשתנים - בדוגמה זו, $ מונה ייצא מתוך היקף, אבל Inc, Dec, Inc3x כל לשמור על התייחסות אליו. בפעם הבאה החדשה () מופעלת, ייווצרו ליקס חדש, ושיטות חדשות ייווצרו כי התייחסות לכך. זה משמש כדי למנוע את התיכון $ זה - {counter} + +> וקל יותר כדי refactor קוד, העבר קוד לשיטות מ subroutines, ולהפוך מודולים ישנים רגיל לתוך אובייקט.Synopsis להשתמש אובייקט :: Lexical; שימוש תת :: Lexical; תת חדש {שלי הדלפק שלי; $ $ זה; המשנה שלי Inc {$ מונה + +; } תת דצמבר שלי {$ מונה -; } שלי Acc3x {$ זה-> Inc () עבור (1..3); } למשל(); } דרישות: · פרל


אובייקט :: Lexical. תוכנה קשורה