مصفوفة Perl عبارة عن متغير قائمة يخزن القيم العددية، ويمكن أن تكون المتغيرات من أنواع مختلفة.
تبدأ متغيرات المصفوفة بـ @. للوصول إلى عناصر المصفوفة، استخدم تنسيق $ + اسم المتغير + [قيمة الفهرس] للقراءة. المثال كما يلي:
في البرنامج، يتم تخطي الرمز $ باستخدام ، مما يسمح بإخراجه كما هو.
$hits[0] = 25$hits[1] = 30$hits[2] = 40$names[0] = google$names[1] = codercto$names[2] = تاوباو
تبدأ متغيرات المصفوفة بالرمز @ ، ويتم وضع العناصر بين قوسين. يمكنك أيضًا تعريف مصفوفة تبدأ بـ qw .
@array = (1, 2, 'Hello');@array = qw/هذه مصفوفة/;
يستخدم المصفوفة الثانية عامل التشغيل qw// ، الذي يُرجع قائمة من السلاسل مع عناصر المصفوفة مفصولة بمسافات. بالطبع، يمكنك أيضًا استخدام أسطر متعددة لتحديد مصفوفة:
@days = qw/googletaobao...codercto/;
يمكنك أيضًا تعيين قيم لمصفوفة حسب الفهرس، كما يلي:
$array[0] = 'الاثنين';...$array[6] = 'الأحد';
للوصول إلى عناصر المصفوفة، استخدم تنسيق $ + اسم المتغير + [قيمة الفهرس] للقراءة. المثال كما يلي:
com.googletaobaocoderctocodercto
تبدأ قيم فهرس المصفوفة من 0، أي أن 0 هو العنصر الأول، و1 هو العنصر الثاني، وهكذا.
تتم قراءة الأرقام السالبة من الاتجاه المعاكس، -1 هو العنصر الأول، -2 هو العنصر الثاني
يوفر Perl تنسيق مصفوفة يمكن إخراجه بالتسلسل، ويكون التنسيق بقيمة البداية + .. + القيمة النهائية ، والمثال كما يلي:
1 2 3 4 5 6 7 8 9 1010 11 12 13 14 15 16 17 18 19 20a bcdefghijklmnopqrstuv wxyz
يتم تحديد حجم المصفوفة من خلال السياق العددي داخل المصفوفة. :
@array = (1,2,3);print "حجم المصفوفة: ",scalar @array,"n";
طول المصفوفة يُرجع الحجم الفعلي للمصفوفة، وليس عدد العناصر، يمكننا أن نرى المثال التالي:
حجم المصفوفة: 51 الحد الأقصى للمؤشر: 50
كما يتبين من الإخراج، هناك أربعة عناصر فقط من المصفوفة، ولكن حجم المصفوفة هو 51.
يوفر Perl بعض الوظائف المفيدة لإضافة وإزالة عناصر المصفوفة.
إذا لم تكن لديك خبرة في البرمجة من قبل، فيمكنك أن تسأل ما هي الوظيفة؟ في الواقع، الطباعة التي استخدمناها من قبل هي وظيفة إخراج.
يسرد الجدول التالي وظائف العملية شائعة الاستخدام في المصفوفات:
رقم سري | النوع والوصف |
---|---|
1 | ادفع @ARRAY، LIST ضع قيمة القائمة في نهاية المصفوفة |
2 | البوبARRAY قم بإخراج القيمة الأخيرة للمصفوفة وإعادتها |
3 | التحول @ARRAY ينبثق القيمة الأولى للمصفوفة ويعيدها. يتم أيضًا تقليل قيمة فهرس المصفوفة بمقدار واحد. |
4 | قم بإلغاء إزاحة @ARRAY، LIST يضع القائمة أمام المصفوفة ويعيد عدد العناصر في المصفوفة الجديدة. |
يمكننا قطع مصفوفة وإرجاع المصفوفة الجديدة بعد القطع:
ويبو كيو كيو فيسبوك
يحتاج فهرس المصفوفة إلى تحديد قيمة فهرس صالحة، والتي يمكن أن تكون رقمًا موجبًا متبوعًا برقم سالب، ويتم فصل كل قيمة فهرس بفاصلة.
إذا كان فهرسًا مستمرًا، فيمكنك استخدام .. للإشارة إلى النطاق المحدد:
ويبو كيو كيو فيسبوك
يتم استخدام وظيفة splice() لاستبدال عناصر المصفوفة في Perl. تنسيق بناء الجملة كما يلي:
لصق @ARRAY، إزاحة [، الطول [، القائمة] ]
وصف المعلمة:
@ARRAY: المصفوفة المراد استبدالها.
الإزاحة: موضع البداية.
الطول: عدد العناصر المراد استبدالها.
القائمة: قائمة العناصر البديلة.
يستبدل المثال التالي 5 عناصر في مصفوفة بدءًا من العنصر السادس:
قبل الاستبدال - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 بعد الاستبدال - 1 2 3 4 5 21 22 23 24 25 11 12 13 14 15 16 17 18 19 20
لتحويل سلسلة إلى مصفوفة في لغة Perl، استخدم الدالة Split()، ويكون بناء الجملة كما يلي:
انقسام [النمط [، EXPR [، الحد]]]
وصف المعلمة:
النمط: المحدد، الافتراضي هو المساحة.
EXPR: حدد عدد السلاسل.
LIMIT: إذا تم تحديد هذه المعلمة، فسيتم إرجاع عدد العناصر الموجودة في المصفوفة.
com.ocomweibo
في لغة Perl، يتم استخدام الدالة join() لتحويل المصفوفة إلى سلسلة.
انضم إلى EXPR، القائمة
وصف المعلمة:
إكسبر: موصل.
القائمة: القائمة أو المصفوفة.
www-codercto-comgoogle,taobao,codercto,weibo
يستخدم فرز المصفوفات في لغة Perl الدالةsort()، ويكون بناء الجملة كما يلي:
فرز قائمة [الروتين الفرعي].
وصف المعلمة:
روتين فرعي: تحديد القواعد.
القائمة: القائمة أو المصفوفة.
قبل الفرز: google taobao codercto facebook بعد الفرز: facebook google codercto taobao
ملاحظة: يعتمد فرز المصفوفات على قيم ASCII الرقمية. لذلك عندما نقوم بفرز المصفوفة، فمن الأفضل تحويل كل عنصر إلى أحرف صغيرة قبل الفرز.
يمثل المتغير الخاص $[ قيمة الفهرس الأول للمصفوفة، والتي تكون بشكل عام 0. إذا قمنا بتعيين $[ على 1، فإن قيمة الفهرس الأول للمصفوفة هي 1، والثانية هي 2، وهكذا. الأمثلة هي كما يلي:
الموقع الإلكتروني: google taobao codercto facebook@sites[1]: google@sites[2]: taobao
بشكل عام، لا ننصح باستخدام المتغير الخاص $[ في الإصدار الجديد من Perl، تم التخلي عن هذا المتغير.
يتم فصل عناصر المصفوفة بفواصل، ويمكننا أيضًا استخدام الفواصل لدمج المصفوفات، كما هو موضح أدناه:
الأرقام = 1 3 4 5 6
من الممكن أيضًا تضمين مصفوفات متعددة داخل مصفوفة ودمجها في المصفوفة الرئيسية:
الأرقام = 1 3 5 2 4 6
يمكن استخدام القائمة كمصفوفة، حيث يمكن تحديد قيمة الفهرس بعد أن تتمكن القائمة من قراءة العنصر المحدد، كما هو موضح أدناه:
قيمة فار هي = 1
وبالمثل، يمكننا استخدام .. في مصفوفة لقراءة العناصر في نطاق محدد:
قيمة القائمة = 4 3 2