مصفوفات PowerShell: كيفية إنشائها واستخدامها
المتغيرات هي أبسط بنية بيانات في أي نوع من أنواع الترميز(any type of coding) . لكن المتغيرات الفردية بالكاد تكفي لمعظم الأغراض ، خاصة عند التعامل مع خوارزميات أكثر تعقيدًا.
وهنا يأتي دور المصفوفات. سواء كانت لغة C ++ أو Python ، فإن المصفوفات موجودة في كل لغة برمجة بشكل ما. ولكن ماذا عن Windows PowerShell ؟ كيف تعمل مصفوفات PowerShell ؟ كيف تستخدمها؟ ما هو تركيبهم؟ هيا نكتشف.
صفيفات PowerShell 101
ببساطة(Simply) ، المصفوفة هي مجرد مجموعة منظمة من المتغيرات. الفكرة هي القضاء على متاعب تتبع عشرات الأسماء عن طريق طي المتغيرات ذات الصلة في مجموعة مرقمة.
في PowerShell ، يمكنك إنشاء متغير عن طريق إضافة الرمز $ إلى اسم متغير. فمثلا:
$prime = 13
يمكن أن يحتوي المتغير على أي نوع بيانات ، من الأرقام إلى السلاسل. تحتاج فقط إلى استخدام علامات الاقتباس المزدوجة أو المفردة لتحديد سلسلة.
$name = “Levin”
الآن لإنشاء مصفوفة جديدة ، ما عليك سوى تعيين قيم متعددة لنفس المتغير ، مفصولة بفواصل. مثله:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
يفضل بعض الأشخاص تحويل متغير صريح إلى مصفوفة لتجنب الالتباس ، على الرغم من أن ذلك ليس ضروريًا. للقيام بذلك ، ضع القيم بين أقواس مسبوقة بالرمز @.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
عادة ما يكون هذا مفيدًا عند محاولة وضع إخراج أوامر أخرى في مصفوفة ، حيث لا يمكنك كتابتها يدويًا بالتنسيق الصحيح.
إنشاء مصفوفة
لقد رأينا بالفعل الطريقة الأكثر شيوعًا لإنشاء مصفوفة. ولكن اعتمادًا على الموقف ، هناك طرق أخرى قد تكون أكثر ملاءمة. على سبيل المثال ، إذا كنت تريد إنشاء مصفوفة تحتوي على نطاق من الأرقام ، فيمكنك استخدام عامل تشغيل النطاق:
$digits = (0..9)
سيؤدي ذلك إلى إنشاء مصفوفة من جميع الأرقام العشرة من صفر إلى تسعة. يمكنك أيضًا تهيئة مصفوفة فارغة ، في حالة ما إذا كنت تريد مكانًا لتخزين القيم لاحقًا.
$values = @()
يمكن حتى أن تتداخل المصفوفات المتعددة(Multiple) مع بعضها البعض ، على الرغم من أن هذا النوع من الاستخدام يمكن أن يكون مربكًا بسرعة كبيرة.
$coordinates = @(
(5، 10، 23)،
(11، 7، 16)
)
بشكل افتراضي ، يمكن للمصفوفة تخزين أي نوع من المتغيرات ، سواء كانت أرقامًا أو سلاسل أو مزيجًا من كليهما. ولكن يمكنك تحديد نوع بشكل صريح في حالة رغبتك في تحديد القيم الموضوعة فيه. فمثلا:
[int[]] $numbers = 2,3,4,5
بهذه الطريقة ، يمكن للمصفوفة أن تحتوي فقط على أعداد صحيحة. ستؤدي محاولة تعيين أي نوع آخر من القيمة إليه إلى إرجاع خطأ. يمكن أن يكون هذا مفيدًا لمنع الأخطاء البسيطة للمصفوفات التي تعمل حصريًا مع القيم الرقمية ، لأن إدخال سلسلة في متغير لاستخدامه في العمليات الحسابية سيؤدي إلى حدوث مشكلات.
الوصول إلى المصفوفات
لقد رأينا حتى الآن طرقًا متعددة لإنشاء مصفوفات تحتوي على أنواع مختلفة من البيانات. لكن كيف ستشرع في الوصول إلى هذه البيانات؟
تستخدم مصفوفات PowerShell(PowerShell) نفس التنسيق الذي تستخدمه لغات البرمجة الأخرى. يمكن الوصول إلى كل متغير مصفوفة من خلال رقم الفهرس الخاص به. فمثلا:
$var = $numbers[5]
سيؤدي هذا إلى نسخ القيمة المخزنة في الفهرس الخامس لمصفوفة $numbers في المتغير $varلاحظ أن فهارس المصفوفة تبدأ بالعد من 0 ، لذلك يتم الوصول إلى العنصر الأول بصفر.
إذا أردنا إخراج هذا ، على سبيل المثال:
“$days[2]”
سنصل يوم الأربعاء وليس الثلاثاء.
يمكنك استخدام نفس هذه الطريقة لتعديل هذه القيم أيضًا. على سبيل المثال ، سيغير الأمر التالي العنصر الثاني من المصفوفة إلى صفر:
$numbers[1] = 0
يمكنك أيضًا إضافة المزيد من العناصر إلى مصفوفة موجودة بدلاً من تغيير قيم المدخلات الحالية فقط عن طريق إضافتها كتعبير حسابي.
$names += “Johny”
يمكن استخدام هذه الطريقة لإضافة إدخالات متعددة مرة واحدة أيضًا ، أو حتى مصفوفات كاملة.
$names += “Charlie, Liam, Teresa”
$names += $surnames
تستخدم الطريقة المفصولة بفواصل للوصول إلى عناصر مصفوفة متعددة أيضًا. يؤدي إدخال هذا ، على سبيل المثال ، إلى تخزين العناصر الخمسة الأولى من $days في $weekdays .
$weekdays = $days[0,1,2,3,4]
التكرار من خلال المصفوفات
يعد الوصول يدويًا إلى عناصر معينة من المصفوفة أمرًا جيدًا وجيدًا ، ولكن إذا كنت ترغب في تنفيذ إجراءات على محتويات المصفوفة بالكامل ، فقد يصبح الأمر مملاً. الأسلوب الأكثر أناقة هو استخدام حلقة For.
يمكن أن تمر حلقات For بشكل منهجي عبر جميع عناصر المصفوفة ، ومعالجة كل قيمة وفقًا للتعليمات. هذه هي الطريقة التي يمكنك بها إنشاء مثل هذه الحلقة:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
تعرض الدالة array.Length حجم المصفوفة ، وهو أساسًا عدد العناصر الموجودة فيها. يمكن توصيل هذا بمعامل اختبار التعبير عن حلقة For loop للتكرار الشامل لجميع العناصر.
يمكن لحلقة Foreach وحلقة Foreach -object أن تفعل الشيء نفسه مع برنامج (Foreach)PowerShell النصي أصغر حجمًا .
Foreach ($day in $days){
$day}
يوفر لك هذا الجهد المبذول في تحديد حجم المصفوفة ، تاركًا التفاصيل لـ PowerShell للتعامل معها.
متى يجب استخدام صفائف PowerShell(PowerShell Arrays)
أكبر مصدر للأخطاء في نص برمجي معقد هو المتغيرات المشار إليها بشكل غير صحيح. يحدث هذا بسبب وجود عدد كبير من المتغيرات ذات الأسماء الفريدة ، مما يجعل من الصعب تذكر الغرض منها.
إن أبسط حل لهذه المشكلة هو استخدام المصفوفات على نطاق واسع. يمكن تعيين جميع المتغيرات المرتبطة بطريقة ما إلى مصفوفة واحدة والوصول إليها من خلال أرقام الفهرس الخاصة بها.
حالة الاستخدام الرئيسية لـ Microsoft PowerShell(Microsoft PowerShell’s) هي الأتمتة ، وتلعب المصفوفات دورًا محوريًا في ذلك. يمكن تخزين الكائنات التي تم إرجاعها بواسطة أوامر أوامر PowerShell cmdlets في مصفوفات وتكرارها. (PowerShell)هذا يسمح بتنفيذ المهام المتسلسلة تلقائيًا ، مما يبسط إدارة النظام بشكل كبير.
Related posts
كيفية إنشاء واستخدام محرك أقراص USB لاسترداد نظام التشغيل Windows 11
كيفية Delete أو إنشاء المهمة المجدولة مع PowerShell في Windows 11
لماذا هو جهاز الكمبيوتر الخاص بي غير متوافق مع Windows 11؟ Use WhyNotWin11!
كيفية إضافة إنشاء قائمة سياق نقطة الاستعادة في Windows 11
PowerShell مقابل موجه الأوامر: إيجابيات وسلبيات
لا يمكن تبديل Windows Insider Channel على Windows 11 - dev أو beta
كيفية تثبيت واستخدام Bash على Windows 11
كيفية تغيير Theme في Microsoft Teams على Windows 11
كيفية جعل Video من Photos في Windows 11
كيفية التبديل Insider Channel على Windows 11
Show or Hide Icons في Taskbar Corner Overflow area على ويندوز 11
كيفية إظهار أو إخفاء معظم التطبيقات المستخدمة في Start Menu على Windows 11
سيخبرك Checkit Tool لماذا لا يدعم جهاز الكمبيوتر الخاص بك Windows 11
Click هنا لإدخال رسالة بيانات اعتماد أحدث في Windows 11
كيفية تسجيل الخروج من email account في Mail app في Windows 11
كيفية تمكين أو تعطيل اقتراحات النص في Windows 11
كيفية سرد جميع خدمات Windows باستخدام PowerShell أو Command Line
كيفية تعيين خلفية مختلفة على أجهزة كمبيوتر سطح المكتب المختلفة على Windows 11
ويندوز 11 لBusiness and Enterprise - New الميزات
كيفية فتح Windows Tools في Windows 11