| נתונים :: שנאי Travers מבנה נתונים, לשנות אותו במקום |
הורד עכשיו |
נתונים :: שנאי דירוג וסיכום
- רישיון:
- Perl Artistic License
- שם המפרסם:
- Baldur Kristinsson
- אתר האינטרנט של המוציא לאור:
- http://search.cpan.org/~baldur/Cache-BerkeleyDB-0.03/lib/Cache/BerkeleyDB.pm
נתונים :: שנאי תגים
נתונים :: שנאי תיאור
Travers מבנה נתונים, לשנות אותו במקום נתונים :: שנאי הוא מודול Perl כדי לחצות מבנה נתונים, לשנות אותו Place.Synopsis להשתמש בנתונים :: שנאי; # A: פשוט שימוש: # לקצץ מלון לבן נוסף מ מחרוזות רגילות בתוך ת"א. שלי $ trim = sub {מקומי ($ _) = משמרת; $ _ = ~ s / ^ s * //; $ _ = ~ s / s * $ //; }; שלי $ t = נתונים :: שנאי-> חדש (רגיל => $ לקצץ); $ t-> traverse (ta); # B: שימוש מורכב יותר: # (א) באותיות רישיות כל המקשים בכל hashes הכלול $ נתונים # ו- (ב) להמיר כל מערכים כדי hashes: $ UC_hash = sub {שלי $ h = Shift; @Keys שלי = מפתחות% h; foreach (@keys) {שלי $ uc = uc ($ _); אם ($ UC NE $ $ _ קיים ($ h -> {$ uc})) {$ h -> {$ uc} = $ h -> {$ _}; מחק $ -> {$ _}; } Elsif ($ uc ne $ _) {למות "מפתח רע $ _: '$ UC' קיימת כבר"; }}}}; שלי $ $ ar_conv = sub {שלי% h = @ {$ _ }; חזרה משנה {\% h}; }; שלי $ T = נתונים :: שנאי-> חדש (hash => $ uc_hash, מערך => $ ar_conv, node_limit => 500_000); הערכה {$ t-> traverse ($ נתונים)}; להזהיר "לא יכול להשלים טרנספורמציה: $ @" אם $ @; # C: לא הרסני Traversal # אתה לא ממש צריך לשנות משהו ... גודל $ שלי = 0; שלי $ t = נתונים :: שנאי-> חדש (רגיל => משנה {$ גודל + = אורך ($ {$ _ })}, has => sub {$ גודל + = אורך ($ _) עבור מפתחות% { $ _ }},); שלי $ צמתים = $ t-> tranverse (ta); הדפס "מספר צמתים: $ צמתים ", הדפס" גודל של מפתחות + ערכים: $ גודל "D: אובייקטים בתוך מבנה נתונים # להשפיע על אובייקטים באמצעות שם המחלקה כעל מפתח: $ t = הנתונים שלי :: שנאי-> חדש :: מחלקה '=> תת {Shift-> Set_foo (' בר '))}; דרישות: · פרל
נתונים :: שנאי תוכנה קשורה