טקסט :: מסנן

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

טקסט :: מסנן דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Johan Vromans
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~jv/

טקסט :: מסנן תגים


טקסט :: מסנן תיאור

בסיס בסיס עבור אובייקטים שיכולים לקרוא ולכתוב קווי טקסט טקסט :: המטרה העיקרית של המסנן היא מופשט את הפרטים כיצד יש לעשות זאת קלט ופלט. למרות שברוב המקרים קלט יבוא מקובץ, ופלט ייכתב לקובץ, מודולים מתקדמים דורשים שליטה מפורטת יותר את הקלט והפלט. לדוגמה, המודול יכול להיקרא ממודול אחר, במקרה זה callee יכול להיות מותר לעבד רק חלק מהקלט. לחלופין, תכנית יכולה להיות נתונים מוכנים במערך ורוצה לקרוא את המודול לעבד נתונים זה כאילו לקרוא מקובץ. כמו כן, זרם קלט מספק פונקציונליות דחייה לעשות מציץ קלט easy.Text :: מסנן ניתן להשתמש בכוחות עצמה כמטפל קלט / פלט נוח. לדוגמא: טקסט שימוש :: מסנן; מסנן $ שלי = טקסט :: מסנן -> (קלט => * stdin, פלט => * STDOUT); קו $ שלי; בעוד (מוגדר (קו $ = $ פילטר> readline)) {$ פילטר> WriteLine ($ קו); } או, אפילו יותר פשוט: להשתמש בטקסט :: מסנן; טקסט :: Filter-> הפעלה (קלט => * stdin, פלט => * STDOUT); מופעים הכוח האמיתי שלה כאשר תוכנית כזו הפכה מודול עבור reuse.When אופטימלי יצירת מודול זה לקווי תהליך של הטקסט, ניתן לגזור ממנו טקסט :: מסנן, למשל: חבילה MyFilter; בסיס לשימוש "טקסט :: מסנן"; שיטת הבנאי חייבת ואז קוראים החדשים () השיטה של מעמד טקסט :: סנן כדי להגדיר במח' הבסיס. הדבר נעשה בנוחות על ידי התקשרות SUPER :: חדש (). פונקציית hash תכונות המכילות חייבות להיות מועברות בשיטה זו, כמה מהתכונות הללו ישמש את ההתקנה של מח' בסיס. תת חדש {שלי $ Class = Shift; # ... להביא טיעונים שאינם תכונה מן @_ ... # יצירת מופע, באמצעות טיעונים תכונה. העצמי שלי $ = $ class-> SUPER :: חדש (@_); לבסוף, האובייקט החדש שנוצר חייב להיות מחדש מבורך לתוך הכיתה הרצויה, וחזר: # Rebless לתוך הכיתה הרצויה. תברך ($ עצמיים, $ בכיתה); כאשר} יצירת מופעים חדשים לשיעור זה, מייחס הקלט והפלט יכול לשמש כדי לציין כיצד הקלט והפלט הוא יטופל. יכולים להיות מסופקים כמה ערכים אפשריים עבור קלט attributes.For הבא: סקלר A *, המכילים שם קובץ. קובץ בשם ייפתח, קווי הזנה יקראו באמצעות. * קובץ ידית (גוש). קווים ייקראו באמצעות. * מופע של מחלקה IO :: קובץ. קווים ייקראו באמצעות. * הפניה מערך. קווי קלט יהיה שינוי () ed מן המערך. * הפניה סקלר. קווי קלט יילקחו מן התוכן של סקלר (אשר שונה). כאשר מותש, זה יוגדר undefined. * התייחסות למספר ששגרת אנונימיים. שגרה זו ייקרא כדי לקבל את השורה הבאה של data.The ברירת המחדל היא לקרוא קלט באמצעות דה פלט operator.For: סקלר A *, המכיל שם קובץ. קובץ בשם תיווצר אוטומטית, קווי פלט ייכתב באמצעות הדפסה (). * קובץ ידית (גוש). קווים ייכתבו באמצעות הדפסה (). * מופע של מחלקה IO :: קובץ. קווים ייכתבו באמצעות הדפסה (). * הפניה מערך. קווי פלט יהיה לדחוף () ed לתוך המערך. המערך יהיה יוזם כדי () במידת הצורך. * הפניה סקלר. קווי פלט יצורפו אל סקלר. סקלר יהיה יוזם כדי "" במידת הצורך. * התייחסות למספר ששגרת אנונימיים. ניתן להשתמש שגרה זו תיקרא לצרף שורת טקסט לברירת מחדל destination.The הוא פלט לכתיבת תכונות STDOUT.Additional לציין פעולות שיש לבצע לאחר שנתון נמשכו, או לפני נכתבים. לדוגמה, להפשיט קצות קו עם קלט, ולהוסיף אותם על שפע output.SYNOPSISA של כלים קיימים לפעול כפי מסננים: הם מקבלים נתונים ממקור, לפעול על נתונים אלה, וכתוב ואולי הנתונים ששונו ליעד. בעולם יוניקס, כלים אלה יכולים להיות כבול באמצעות טכניקה הנקראת הצנרה, שבו הפלט של מסנן אחד שמחובר לכניסה של מסנן אחר. כמה עולמות שאינם יוניקס דווחו כמי provisions.To דומה ליצור מודולים Perl עבור פונקציונליות מסנן נראה טריוויאלי בהתחלה. פשוט לפתוח את קובץ הקלט, לקרוא ולעבד אותו, ופלט לכתוב לקובץ יעד. אבל עבור מודולים באמת לשימוש חוזר גישה זו היא פשוטה מדי. מודול לשימוש חוזר לא צריך לקרוא קבצי לכתוב את עצמו, אבל להסתמך על תוכנית הקוראת לספק קלט כמו גם לטפל output.Text :: מסנן היא מחלקת הבסיס עבור מודולים כי יש מכנה משותף שהם לעבד שורות טקסט על ידי קריאה מקור כלשהו (בדרך כלל קובץ), מניפולציה של התוכן וכתיבת משהו בחזרה ליעד כלשהו (בדרך כלל קובץ אחר) .זה מודול יכול לשמש על עצמה, אבל זה הכי עוצמה כאשר נהג מודולים שואבים ממנה. ראה דוגמא בסעיף עבור דוגמא נרחבת. דרישות: · פרל


טקסט :: מסנן תוכנה קשורה