ال بيرل تُستخدم دالة push () لدفع قيمة أو قيم في نهاية المصفوفة ، مما يزيد من عدد العناصر. ثم تصبح القيم الجديدة هي آخر عناصر المصفوفة. تقوم بإرجاع العدد الإجمالي الجديد للعناصر في الصفيف. من السهل الخلط بين هذه الوظيفة والدالة unshift () ، التي تضيف عناصر إلى بداية المصفوفة. إليك مثال على وظيفة Perl push ():
myNames = ('Larry'، 'Curly')؛
push @ myNames ، "Moe" ؛
طباعة "myNames \ n" ؛
عندما يتم تنفيذ هذا الرمز ، فإنه يقدم:
لاري كيرلي مو
تخيل صفًا من المربعات المرقمة ، من اليسار إلى اليمين. تدفع الدالة push () القيمة أو القيم الجديدة إلى الجانب الأيمن من الصفيف وتزيد العناصر.
يمكن أيضًا اعتبار الصفيف ككومة. تصور مجموعة من المربعات المرقمة ، تبدأ بـ 0 في الأعلى وتزداد مع انخفاضها. تدفع الدالة () القيمة إلى أسفل المكدس وتزيد العناصر ، مثل هذا:
myNames = (
'مجعد'
);
push @ myNames ، "Moe" ؛
يمكنك أيضًا دفع قيم متعددة على الصفيف مباشرة ...
myNames = ('Larry'، 'Curly')؛
push @ myNames، ('Moe'، 'Shemp')؛
... أو عن طريق الضغط على مصفوفة:
myNames = ('Larry'، 'Curly')؛
moreNames = ('Moe'، 'Shemp')؛
push (myNames،moreNames) ؛
ملاحظة للمبرمجين المبتدئين: تبدأ صفائف Perl برمز @. يجب أن ينتهي كل سطر كامل من التعليمات البرمجية بفاصلة منقوطة. إذا لم يحدث ذلك ، فلن يتم تنفيذه. في المثال المكدس في هذه المقالة ، فإن السطور التي لا تحتوي على فاصلة منقوطة هي قيم مضمنة في صفيف ومحاطة بأقواس. هذا ليس استثناءً لقاعدة الفاصلة المنقوطة ، بقدر ما هو نتيجة لنهج المكدس. القيم الموجودة في الصفيف ليست سطورًا فردية من التعليمات البرمجية. من الأسهل تصور ذلك في النهج الأفقي للتشفير.
وظائف أخرى لمعالجة المصفوفات
يتم استخدام وظائف أخرى أيضًا للتعامل مع المصفوفات. هذه تجعل من السهل والفعال استخدام صفيف Perl ككومة أو كقائمة انتظار. بالإضافة إلى وظيفة الدفع ، يمكنك استخدام:
- وظيفة البوب - يزيل ويعيد العنصر الأخير من المصفوفة
- وظيفة التحول - تحريك المصفوفة بأكملها إلى اليسار. العنصر الذي هو العنصر الأول للصفيف يقع خارج الصفيف ويصبح القيمة المرجعة للدالة
- وظيفة غير التحول - عكس وظيفة shift ، يضع قيمة في بداية المصفوفة وينقل كل العنصر الآخر إلى اليمين.