מערך :: השווה

מערך :: השווה הוא הרחבה Perl להשוואה מערכים.
הורד עכשיו

מערך :: השווה דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Dave Cross
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~davecross/Array-Compare-1.14/lib/Array/Compare.pm

מערך :: השווה תגים


מערך :: השווה תיאור

מערך :: השווה היא הרחבה Perl להשוואה מערכים. Synopsis השתמש במערך :: השווה; שלי $ comp1 = מערך :: השווה-> חדש; $ comp-> Sep ('|'); $ comp-> דלג ({3 => 1, 4 => 1}); $ comp-> whitespace (0); $ comp-> במקרה (1); שלי Comp2 = מערך :: השווה-> חדש (Sep => '|', Whitespace => 0, case => 1, דלג על => {3 => 1, 4 => 1); שלי @ arr1 = 0 .. 10; שלי @ arr2 = 0 .. 10; $ comp1-> השווה (@ arr1, @ arr2); $ comp2-> השווה (@ arr1, @ arr2); אם יש לך שני מערכים ואתה רוצה לדעת אם הם זהים או שונים, ולאחר מכן מערך :: השווה יהיה שימושי לך. כל השוואות מתבצעות דרך השווה לְהִתְנַגֵד. בשימוש הפשוט ביותר, אתה יכול ליצור ולהשתמש אובייקט משווה ככה: שלי @ arr1 = 0 .. 10; שלי @ arr2 = 0 .. 10; שלי $ comp = מערך :: השווה-> חדש; אם ($ comp-> השווה (@ arr1, @ arr2)) {print "מערכים הם samen"; } אחר {print "מערכים שונים"; } שים לב כי אתה עובר הפניות לשני מערכים לשיטת ההשוואה.אנאי השווה משווה את שני המערכים באמצעות הצטרפות כדי להפעיל את שני המערכים לתוך מחרוזות ולהשוות את המיתרים באמצעות EQ. במיתוגים הצטרפו, המרכיבים של המערכים המקוריים מופרדים עם אופי ^ g. פעולה זו עלולה לגרום לבעיות אם נתוני המערך שלך מכילים תווים ^ g כפי שהוא אפשרי כי שני מערכים שונים ניתן להמיר לאותו מחרוזת. כדי למנוע זאת, ניתן לעקוף את תו מפריד ברירת המחדל, או על ידי עובר ואלטרנטיבי החדש פונקציה שלי Comp = מערך :: השווה-> חדש (Sep => '|'); או על ידי שינוי הסופרת עבור אובייקט משווה הקיים $ Comp-> Sep ('"); באופן כללי אתה צריך לבחור תו מפריד זה לא יופיע בנתונים שלך. אתה יכול גם לשלוט אם או לא בוהן בתוך האלמנטים של המערכים צריך להיחשב משמעותי בעת ביצוע ההשוואה. ברירת המחדל היא שכל רווח לבן הוא משמעותי. החלופה היא עבור כל תווי החלל הלבן הרצוי להיות מומרת למרחב אחד עבור פרופסוס של ההשוואה. שוב, זה יכול להיות מופעל בעת יצירת אובייקט משווה: $ Comp = מערך :: השווה-> חדש (Whitespace => 0); או על ידי שינוי אובייקט קיים: $ comp-> whitespace (0); אתה יכול גם בקרת אם במקרה של הנתונים הוא משמעותי בהשוואה. ברירת המחדל היא שהמקרה של הנתונים נלקח בחשבון. זה יכול להיות שונה בדרכים סטנדרטיות בעת יצירת אובייקט משווה חדש: שלי Comp = מערך :: השווה-> חדש (מקרה => 0); או על ידי שינוי אובייקט קיים: $ comp->> במקרה (0); ב בנוסף להשוואה הפשוטית המתוארת לעיל (החוזרת אם מערכים זהים ושקר אם הם שונים) יש גם השוואה מלאה אשר מחזירה רשימה המכילה את המדדים של אלמנטים שונים בין שני המערכים. אם המערכים זהים לזה הוא מחזיר רשימה ריקה. בהקשר סקלר, השוואה מלאה מחזירה את אורך הרשימה (כלומר מספר האלמנטים המבדלים). אתה יכול לגשת להשוואה מלאה בשתי דרכים. ראשית, יש תכונה deffull. אם זה נכון אז השוואה מלאה אם מבוצעת בכל פעם השווה השווה נקרא. שלי $ comp = מערך :: השווה-> חדש (deffull => 1); $ comp-> השווה (@ arr1, @ arr2); # השוואה מלאה $ comp-> defull (0); $ comp-> השווה (@ arr1, @ arr2); # השוואה פשוטה $ comp-> defull (1); $ comp-> השווה (@ arr1, @ arr2); # השוואה מלאה שוב, אתה יכול לגשת לשיטת השוואה מלאה ישירות $ comp-> full_compare (@ ar1, @ arr2); עבור סימטריה, יש גם שיטה ישירה לשימוש כדי להתקשר לשוואת פשוטה. $ comp-> simple_compare (@ ar1, @ arr2); הסיבוך הסופי הוא היכולת לדלג על אלמנטים בהשוואה. אם אתה יודע כי שני מערכים תמיד יהיה שונה במרכיב מסוים אבל רוצה להשוות את המערכים המתעלמים אלמנט זה, אתה יכול לעשות את זה עם מערך :: השווה מבלי לקחת פרוסות מערך. לשם כך, אובייקט משווה יש תכונה אופציונלית הנקראת Skip שהיא התייחסות חשיש. המפתחות בחשיש זה הם המדדים של אלמנטים מערך והערכים צריכים להיות כל ערך אמיתי עבור אלמנטים שיש לדלג. לדוגמה, אם אתה רוצה להשוות בין שני מערכים, מתעלמת מהערכים באלמנטים שני וארבע, אתה יכול לעשות משהו כזה:% שלי Skip = (2 => 1, 4 => 1); שלי @a = (0, 1, 2, 3, 4, 5); שלי @b = (0, 1, x, 3, x, 5); שלי $ comp = מערך :: השווה-> חדש (דלג =>% Skip); $ comp-> השווה (@a, @b); זה צריך לחזור נכון, כפי שאנו מתעלמים במפורש את העמודות אשר שונות. כמובן, לאחר יצר אובייקט משווה ללא דילוג, ניתן להוסיף אחד מאוחר יותר: $ COMP-> Skip ({1 => 1, 2 => 1); או: שלי% Skip = (1 => 1, 2 => 2); $ COMP-> Skip (% Skip); כדי לאפס את השווה, כך שלא עוד מדלגים אלמנטים, הגדר את הדלג על חשיש ריק. $ comp-> דלג ({}); אתה יכול גם לבדוק אם מערך אחד הוא תמורה של אחר, כלומר הם מכילים את אותם אלמנטים אבל בסדר אחר. אם ($ comp-> perm (@a, @b) {print "מערכים הם permsn"; אחר {print "nope. מערכים שונים לחלוטין";} במקרה זה ערכים של רווח לבן ומקרה עדיין, אבל לדלג הוא התעלם, בתקווה, סיבות ברורות.מובן: · perl


מערך :: השווה תוכנה קשורה

Minddir

mortdir הוא LD_PRELOAD ספריה אשר מינים רשומות במדריך לפני אספקת אותם ליישומים שלך. ...

126

הורד