| البيانات :: محول اجتياز بنية بيانات، مما أدى إلى تغييره في مكانه |
التحميل الان |
البيانات :: محول الترتيب والملخص
- رخصة:
- Perl Artistic License
- اسم الناشر:
- Baldur Kristinsson
- موقع ويب الناشر:
- http://search.cpan.org/~baldur/Cache-BerkeleyDB-0.03/lib/Cache/BerkeleyDB.pm
البيانات :: محول العلامات
البيانات :: محول وصف
اجتياز هيكل البيانات، وتغييره في مكانه Data :: Transformer هو وحدة بيرل لاجتياز بنية بيانات، مما يغيره في Place.Synopsis استخدم البيانات :: Transformer؛ # أ: استخدام بسيط: # تقليم مساحة بيضاء اضافية من السلاسل العادية داخل تا. بلدي $ تقليم = sub {محلي ($ _) = التحول؛ $$ _ = ~ s / ^ s * //؛ $$ _ = ~ s / s * $ //؛ } بلدي $ t = البيانات :: محول-> جديد (عادي => $ trim)؛ $ t-> اجتياز (TA)؛ # ب: الاستخدام الأكثر تعقيدا: # (أ) الأحرف الكبيرة على جميع المفاتيح في جميع التجزئة الموجودة في بيانات $ (B) و (B) تحويل أي صفائف إلى التجزئة: بلدي $ uc_hash = sub {my $ h = shift؛ بلديkeys = مفاتيح h؛ foreach (@ Toke) {My $ UC = UC ($ _)؛ إذا كان ($ UC NE $ _! موجود ($ h -> {$ uc})) {$ h -> {$ uc} = $ h -> {$ _}؛ حذف $ H -> {$ _}؛ } elsif ($ UC NE $ _) {DID "مفتاح سيء $ _:" $ UC "موجود بالفعل"؛ }}}؛ بلدي $ ar_conv = sub {my h = @ {$ _ }؛ عودة sub {\ h}؛ } بلدي $ t = البيانات :: Transformer-> جديد (hash => $ uc_hash، array => $ ar_conv، node_limit => 500_000)؛ Eval {$ t-> traverse (بيانات $)}؛ تحذير "لا يمكن إكمال التحول: $ @" إذا $ @؛ # ج: اجتياز غير مدمر # لا تضطر في الواقع لتغيير أي شيء ... بلدي حجم $ = 0؛ My $ t = البيانات :: Transformer-> جديد (عادي => SUB {$ حجم + = الطول ($ {$ _ })}، Hash => sub {$ حجم + = الطول ($ _) للمفاتيح { $ _ }}،)؛ بلدي العقد $ = $ t-> tranverse (TA)؛ طباعة "عدد العقد: حدة $ "؛ طباعة" حجم المفاتيح + القيم: حجم $ "؛ # D: الكائنات داخل بنية البيانات تؤثر على الكائنات باستخدام اسم الفصل كإشارة: My $ T = Data :: Transformer-> جديد ('My :: Class' => sub {shift-> set_foo (' شريط ')})؛ المتطلبات: perl.
البيانات :: محول برامج ذات صلة