تبسيط المنطق الشرطي مع عوامل تشعب في باور شيل

الهيكل التعريفي إذا/ثم شائع في رمز PowerShell ولكن هل تعلم أن هناك طريقة أخرى تسمى المشغل الثلاثي يمكنك من خلالها جعل الهياكل الشرطية الخاصة بك أكثر اختصارًا؟ دعنا نتعلم كيفية بناء المشغل الثلاثي المخصص في PowerShell.

يقول البعض، على حساب القابلية للقراءة، إن المشغل الثلاثي يبني منطقًا شرطيًا أكثر اختصارًا وأبسط وبأقل كود. إنهم على حق ولكنه من الجميل جدًا أن يكون لديك تلك السلوكية المشابهة للمشغل الثلاثي في PowerShell!

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

إذا/ثم في PowerShell

لشرح المشغل الثلاثي في PowerShell، دعنا نبدأ أولاً بمثال على الهيكل إذا/ثم.

$CarColor = 'Blue'
if ($CarColor -eq 'Blue') {
    'The car color is blue'
} else {
    'The car color is not blue'
}

من المحتمل أنه عند النظر الأول، قد لا تعتقد أن هناك أي شيء خاطئ في ذلك. في الواقع، ليس هناك شيء خاطئ فيه ولكن يمكن اختبار هذا الشرط بنفس السهولة باستخدام سطر واحد فقط (داخل حدود الـ 115 حرفًا الذي أحدده شخصيًا).

الآن قم ببناء جدول تجزئة في PowerShell مع مفتاحين؛ $true و $false. ثم، قم بتحديد القيم التي ترغب في عرضها إذا تم تحقيق الشرط الذي تحدده.

@{ $true = 'The car color is blue'; $false = 'The car color is not blue' }
[$CarColor -eq 'Blue']

بعد ذلك، قم بتعريف الشرط ($CarColor هو أزرق) وتحقق مما إذا كان هذا الشرط قد تم تحقيقه بواسطة $CarColor -eq 'Blue'.

$CarColor = 'Blue'
@{ $true = 'The car color is blue'; $false = 'The car color is not blue'}
$CarColor -eq 'Blue'

الآن استخدم الشرط ($CarColor -eq 'Blue') كمفتاح في ذلك الجدول. يقوم هذا بأداء الفحص ومن ثم يستخدم النتيجة للبحث عن المفتاح في الجدول.

اكمال عامل الظروف في باور شيل

$CarColor = 'Blue'
@{ $true = 'The car color is blue'; $false = 'The car color is not blue'}[$CarColor -eq 'Blue']
A custom PowerShell ternary operator

سطر واحد! أليس ذلك أكثر إيجازًا بكثير؟ بدلاً من استخدام عبارة if/then، أستخدم جدول تجريبي وأقوم بالبحث استنادًا إلى ما إذا كان $CarColor يساوي Blue أم لا. يتم إخراج الفهرس الناتج بعد ذلك إلى وحدة التحكم. إذا كنت ترغب في استخدام هذه الطريقة، فإنها بسيطة تمامًا كملء هذه الفراغات:

@{$true = $ResultyouwanttodoifTrue; $false = $ResultyouwantifFalse}[]

يمكنك أيضًا تضمين المزيد من $true و $false إذا كنت ترغب. يمكنك إضافة أي عدد من الشروط في الجدول والتحقق منها. إنها طريقة سهلة لاستبدال عبارات if/then الطويلة أو تبديل البيانات.

لديك الآن عامل ظروف باور شيل مخصص يمكنك بدء استخدامه في نصوصك البرمجية اليوم!

Source:
https://adamtheautomator.com/powershell-ternary/