العمليات المنطقية في Bicep

تقوم العوامل المنطقية بتقييم القيم المنطقية، أو إرجاع قيم غير فارغة، أو تقييم تعبير شرطي. لتشغيل الأمثلة، استخدم Azure CLI أو Azure PowerShell لنشر ملف Bicep.

عامل تشغيل الاسم
&& And
|| Or
! Not
?? اندماج
? : تعبير شرطي

و &&

operand1 && operand2

يحدد ما إذا كانت كلتا القيمتين صحيحتين.

المعاملات

معامل النوع الوصف
operand1 boolean القيمة الأولى للتحقق من صحتها.
operand2 boolean القيمة الثانية للتحقق من صحتها.
المزيد من العمليات boolean يمكن تضمين المزيد من العمليات.

قيمة الإرجاع

True عندما تكون كلتا القيمتين صحيحتين، وإلا فسيتم إرجاع false.

مثال

يقيم مجموعة من قيم المعلمات ومجموعة من التعبيرات.

param operand1 bool = true
param operand2 bool = true

output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2

الإخراج من المثال:

Name نوع القيمة‬
andResultParm boolean صحيح
andResultExp boolean صحيح

لتجنب خاصية تعبير اللغة 'foo' غير موجودة استثناء مع كائنات Bicep، يمكنك استخدام عامل التشغيل المنطقي و كما هو موضح في المثال التالي:

param objectToTest object = {
  one: 1
  two: 2
  three: 3
}

output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4

Or ||

operand1 || operand2

يحدد ما إذا كانت القيمة صحيحة.

المعاملات

معامل النوع الوصف
operand1 boolean القيمة الأولى للتحقق من صحتها.
operand2 boolean القيمة الثانية للتحقق من صحتها.
المزيد من العمليات boolean يمكن تضمين المزيد من العمليات.

قيمة الإرجاع

True عندما تكون أي من القيمتين صحيحة، وإلا يتم إرجاع false.

مثال

يقيم مجموعة من قيم المعلمات ومجموعة من التعبيرات.

param operand1 bool = true
param operand2 bool = false

output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2

الإخراج من المثال:

Name نوع القيمة‬
orResultParm boolean صحيح
orResultExp boolean صحيح

لتجنب استثناء فهرس صفيف خاصية تعبير اللغة 'x' خارج الحدود ، يمكنك استخدام عامل التشغيل المنطقي Or كما هو موضح في المثال التالي:

param emptyArray array = []
param numberArray array = [1, 2, 3]

output foo bool = empty(emptyArray) || emptyArray[0] == 'bar'
output bar bool = length(numberArray) >= 3 || numberArray[3] == 4

Not !

!boolValue

ينفي قيمة منطقية.

معامل

معامل النوع الوصف
boolValue boolean القيمة المنطقية التي تم نفيها.

قيمة الإرجاع

ينفي القيمة الأولية ويعيد قيمة منطقية. إذا كانت القيمة الأولية هي true، فسيتم إرجاع false.

مثال

عامل التشغيل not ينفي قيمة. يمكن التفاف القيم بأقواس.

param initTrue bool = true
param initFalse bool = false

output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse

الإخراج من المثال:

Name نوع القيمة‬
startedTrue boolean true
startedFalse boolean صحيح

Coalesce ??

operand1 ?? operand2

ترجع أول قيمة غير فارغة من العمليات.

المعاملات

معامل النوع ‏‏الوصف
operand1 سلسلة، عدد صحيح، منطقي، كائن، صفيف القيمة المراد اختبارها لـ null.
operand2 سلسلة، عدد صحيح، منطقي، كائن، صفيف القيمة المراد اختبارها لـ null.
المزيد من العمليات سلسلة، عدد صحيح، منطقي، كائن، صفيف القيمة المراد اختبارها لـ null.

قيمة الإرجاع

إرجاع أول قيمة غير فارغة. السلاسل الفارغة والمصفوفات الفارغة والكائنات الفارغة ليست null ويتم إرجاع قيمة <فارغة>.

مثال

تُرجع عبارات الإخراج القيم غير الخالية. يجب أن يتطابق نوع الإخراج مع النوع الموجود في المقارنة وإلا فسيتم إنشاء خطأ.

param myObject object = {
  isnull1: null
  isnull2: null
  string: 'demoString'
  emptystr: ''
  integer: 10
  }

output nonNullStr string = myObject.isnull1 ?? myObject.string ?? myObject.isnull2
output nonNullInt int = myObject.isnull1 ?? myObject.integer ?? myObject.isnull2
output nonNullEmpty string = myObject.isnull1 ?? myObject.emptystr ?? myObject.string ?? myObject.isnull2

الإخراج من المثال:

Name نوع القيمة‬
nonNullStr سلسلة demoString
nonNullInt العدد الصحيح 10
nonNullEmpty سلسلة <فارغ>

Conditional expression ? :

condition ? true-value : false-value

يقيّم الشرط ويعيد قيمة سواء كان الشرط صحيحاً أو خاطئاً.

المعاملات

معامل النوع الوصف
condition boolean شرط للتقييم على أنه صواب أو خطأ.
true-value سلسلة، عدد صحيح، منطقي، كائن، صفيف القيمة عندما يكون الشرط صحيحاً.
false-value سلسلة، عدد صحيح، منطقي، كائن، صفيف القيمة عندما يكون الشرط خطأً.

مثال

يقوم هذا المثال بتقييم أول معلمة وإرجاع قيمة سواء كان الشرط صحيحاً أو خطأً.

param initValue bool = true

output outValue string = initValue ? 'true value' : 'false value'

الإخراج من المثال:

Name نوع القيمة‬
outValue سلسلة قيمة حقيقية

الخطوات التالية