صفيف :: فريدة من نوعها

صفيف :: فريد من نوعه هو صفيف قابل للتعادل يسمح بقيم فريدة فقط.
التحميل الان

صفيف :: فريدة من نوعها الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Gabor Szabo
  • موقع ويب الناشر:
  • http://search.cpan.org/~szabgab/

صفيف :: فريدة من نوعها العلامات


صفيف :: فريدة من نوعها وصف

صفيف :: فريدة من نوعها هي صفيف قادر على التعادل التي تسمح فقط بقيم فريدة فقط. صفيف :: فريد من نوعه عبارة عن صفيف قادر على التعادل يسمح فقط بالقيم الفريدة. التعادل AA، 'صفيف :: فريد من نوعه؛ الآن استخدام AA كصفة منتظمة. تتيح لك هذه الحزمة إنشاء صفيف يتيح فقط حدوث واحد فقط لأي قيمة. في كلمات أخرى بغض النظر عن عدد المرات التي وضعت فيها في 42، ستبقي فقط الحدوث الأول والباقي سيكون انخفض. يمكنك استخدام الوحدة النمطية عبر التعادل وبمجرد ربط صفيفك بهذه الوحدة هذه الوحدة، ستصرف بشكل صحيح. يتم فحصه باستخدام مشغل "EQ" بحيث يكون من بين أشياء أخرى حساسة لحالة الأحرف. وهي تأثير جانبي لا يسمح الوحدة كقيمة في الصفيف. تستخدم مجموعة صفيف :: فريدة من نوعها؛ التعادل AA، 'صفيف :: فريد من نوعه؛ a = qw (a b c a d e f)؛ دفعa، qw (x b z)؛ طباعة "هان"؛ # a b c d e f x zwhen أنت تقوم بجمع قائمة العناصر وتريد التأكد من أن هناك حدوث واحد فقط لكل عنصر، لديك خيار عدة: 1) باستخدام مجموعة واستخراج العناصر الفريدة في وقت لاحق. قد تستخدم مجموعة منتظمة لحمل هذه المجموعة الفريدة من القيم وإما إزالة التكرارات على كل تحديث من خلال الحفاظ على الصفيف دائما فريدة من نوعها أو إزالة التكرارات قبل أن ترغب في استخدام ميزة التفرد في الصفيف. في كلتا الحالتين قد تقوم بتشغيل وظيفة استدعاءها @ = @ @ @ @ هو - هي. أود أن أقول لا تعتمد على تذكر هذا. هناك مناقشة جيدة حولها في الطبعة الأولى من كتاب الطبخ بيرل أورايلي. لقد نسخ الحلول هنا، يمكنك رؤية مزيد من المناقشة في الكتاب. ---------------------------------------- استخراج عناصر فريدة من قائمة (القسم 4.6 في كتاب الطبخ بيرل 1st.) # واضح رأي = ()؛ Luniq = ()؛ foreach item $ (@ القائمة) [ما لم يكن ($ شوهد {$ item}) {# إذا وصلنا هنا لم نر ذلك قبل أن ينظر إلى $ {$ item} = 1؛ دفع (@ Uniq، البند $)؛ }} # Faster رأي = ()؛ foreach $ item (@ @ @) {دفع (@ @ } # أسرع ولكن تم رؤية مختلفة؛ Foreach $ Item (@ القائمة) {$ شوهد {$ item} ++؛ } Luniq = مفاتيح # أسرع وحتى أكثر من ينظر إليها؛ oniq = grep {! $ شوهد {$ _} ++} قائمة؛ ---------------------------------------- 2) باستخدام تجزئة بعض الناس يستخدمون المفاتيح من التجزئة للحفاظ على العناصر ووضع قيمة تعسفية كقيم التجزئة: لبناء مثل هذه القائمة: فريد = الخريطة {$ _ => 1} qw (واحد اثنان واحد اثنين ثلاثة أربعة أربعة!)؛ لطباعة ذلك: قم بطباعة الانضمام "،"، فرز مفاتيح فريدة من نوعها؛ لإضافة قيم إليه: $ فريد {$ _} = 1 foreach qw (واحد بعد التسعة أوه تسعة)؛ لإزالة القيم: حذف Unique {qw (OH تسعة)}؛ للتحقق مما إذا كانت القيمة موجودة: $ {$ قيمة}؛ # وهذا هو السبب في أنني أحب استخدام "1" كأقيمتي (بفضل Gaal Yahas للأمثلة أعلاه) هناك ثلاثة عيوب أرى: 1) تكتب أكثر .2) قد لا يفهم القارئ الخاص بك في البداية لماذا استخدمت التجزئة وما ستكون القيم .3) التي تفقد الترتيب. عادة غير منتقدها أمر بالغ الأهمية ولكن عندما رأيت هذه المرة العاشرة في كود كان علي أن أفهم مع 0 وثائق حصلت على الإحباط .3) باستخدام الصفيف :: Uniqueso قررت أن أكتب هذه الوحدة لأنني شعرت بالإحباط من خلال افتقاري في فهم ما يحدث في هذا الرمز الذي ذكرته. بالإضافة إلى ذلك اعتقدت أنه قد يكون من المثير للاهتمام كتابة هذا ومن ثم معياره. بالإضافة إلى ذلك، من الجميل أن يتم عرض اسمك في الأضواء الساطعة في جميع أنحاء CPAN ... أو على الأقل في وحدة نمطية. دائما فريد من نوعها. لكتابة هذا لست متأكدا مما إذا كنت أوصي حقا باستخدامه. أود أن أقول عصا مع إصدار التجزئة وثيقة أن المتغير هو تجميع قائمة فريدة من القيم. 4) باستخدام مجموعة حقيقية هي وحدات على وحدة تحكم CPAN التي تتيح لك إنشاء وحفظ مجموعات. لم أتحقق من أي من هؤلاء، لكنني أعتقد أنهم أكثر من اللازمين لهذه الوظيفة كفريدة :: array.Requirements: متطلبات بيرل: perl.


صفيف :: فريدة من نوعها برامج ذات صلة