حياة

بيرل صفيف Grep () وظيفة

بيرل صفيف Grep () وظيفة

دالة Perl grep () هي عامل تصفية يقوم بتشغيل تعبير عادي على كل عنصر من عناصر الصفيف ويعيد فقط العناصر التي تقيم كـصحيح. يمكن أن يكون استخدام التعبيرات العادية قويًا ومعقدًا للغاية. تستخدم وظائف grep () بناء الجملةList = grep (تعبير ، @ صفيف).

باستخدام وظيفة Grep () لإرجاع تعبيرات True

myNames = ('Jacob' ، 'Michael' ، 'Joshua' ، 'Mathew' ، 'Alexander' ، 'Andrew') ؛

grepNames = grep (/ ^ A /،myNames) ؛

فكر في صفيفmyNames كصف لمربعات مرقمة ، انتقل من اليسار إلى اليمين ومرقمة بدءًا من الصفر. تنتقل الدالة grep () عبر كل عنصر من العناصر (المربعات) في الصفيف وتقارن محتوياتها بالتعبير العادي. إذا كانت النتيجة صحيح، تتم إضافة المحتويات إلى صفيفgrepNames الجديد.

في المثال أعلاه ، يبحث التعبير العادي / ^ A / عن أي قيمة تبدأ برأس مال A. بعد التدقيق في محتويات صفيفmyNames ، تصبح قيمةgrepNames ('Alexander' ، 'Andrew') ، العنصران الوحيدان اللذان يبدأان برأسمال أ.

عكس التعبير في دالة Grep ()

إحدى الطرق السريعة لجعل هذه الوظيفة الخاصة أكثر قوة هي عكس التعبير المنتظم باستخدام عامل التشغيل NOT. التعبير العادي ثم يبحث عن العناصر التي تقييم ل خاطئة وينقلهم إلى مجموعة جديدة.

myNames = ('Jacob' ، 'Michael' ، 'Joshua' ، 'Mathew' ، 'Alexander' ، 'Andrew') ؛

grepNames = grep (! / ^ A /،myNames) ؛

في المثال أعلاه ، يبحث التعبير العادي عن أي قيمة لا تبدأ برأسمال أ. بعد التدقيق في محتويات صفيفmyNames ، تصبح قيمةgrepNames ("يعقوب" و "مايكل" ​​و "جوشوا" "،" ماثيو ").

حول بيرل

Perl هي لغة برمجة قابلة للتكيف شائعة الاستخدام لتطوير تطبيقات الويب. Perl هي لغة مفسرة وليست مترجمة ، لذا فإن برامجها تستغرق وقتًا أكبر من وحدة المعالجة المركزية (CPU) أكثر من لغة مترجمة - وهي مشكلة تصبح أقل أهمية مع زيادة سرعة المعالجات. ومع ذلك ، فإن الكتابة بلغة بيرل أسرع من الكتابة بلغة مترجمة ، وبالتالي فإن الوقت الذي توفره هو لك.