مرجع مشغّل DSL لنظام التشغيل iOS

تتيح لك عوامل التشغيل التحقّق من قيمة سمات السمات مقارنةً بقيمة معيّنة، ومقارنتها ببعضها، ودمج التعبيرات المستخدَمة في عُقد condition.

تتوفّر عوامل التشغيل من خلال عبارات import التالية:

import GoogleHomeSDK

عوامل تشغيل المقارنة

بين

يتم تقييمها على أنّها true عندما تكون قيمة التعبير 1 بين قيمة التعبير 2 والتعبير 3 (شاملة). يتم ترتيب التعبيرات بشكل مختلف استنادًا إلى نوع بياناتها. يتم ترتيب أنواع البيانات البسيطة، مثل الأرقام والسلاسل، بالطريقة نفسها في Swift.

مثال
التعبير 1 التعبير 2 التعبير 3 النتيجة
6 1 3 false
2 1 3 true

مثال على لغة وصف البيانات

let time = stateReader(structure, Google.TimeTrait)
condition {
  time.currentTime
     .between(
      time.sunsetTime,
      time.sunriseTime)
}

يساوي

يتم تقييمها على أنّها true عندما يساوي التعبير 1 التعبير 2.

مثال
التعبير 1 التعبير 2 النتيجة
6 1 false
2 2 true

مثال على لغة وصف البيانات

lightOnOffState.onOff.equals(true)

greaterThan

يتم تقييمها على أنّها true عندما يكون التعبير 1 أكبر من التعبير 2.

مثال
التعبير 1 التعبير 2 النتيجة
6 1 true
1 6 false

مثال على لغة وصف البيانات

// 1555 = 15 degrees C ~ 60 degrees F
temperatureMeasurement.measuredValue.greaterThan(1555)

greaterThanOrEquals

يتم تقييمها على أنّها true عندما يكون التعبير 1 أكبر من أو يساوي التعبير 2.

مثال
التعبير 1 التعبير 2 النتيجة
8 6 true
6 6 true
1 6 false

مثال على لغة وصف البيانات

starterNode.measuredValue.greaterThanOrEquals(50)

lessThan

يتم تقييمها على أنّها true عندما تكون العبارة 1 أقل من العبارة 2.

مثال
التعبير 1 التعبير 2 النتيجة
6 1 false
1 6 true

مثال على لغة وصف البيانات

// 1555 = 15 degrees C ~ 60 degrees F
temperatureMeasurement.measuredValue.lessThan(1555)

lessThanOrEquals

يتم تقييمها على أنّها true عندما يكون التعبير 1 أقل من أو يساوي التعبير 2.

مثال
التعبير 1 التعبير 2 النتيجة
8 6 false
6 6 true
1 6 true

مثال على لغة وصف البيانات

starterNode.measuredValue.lessThanOrEquals(50)

notEquals

يتمّ تقييمها على أنّها true عندما لا يكون التعبير 1 مساويًا للتعبير 2.

مثال
التعبير 1 التعبير 2 النتيجة
6 1 true
1 6 true
2 2 false

مثال على لغة وصف البيانات

occupancySensorStarter.occupancy.notEquals(.occupied)

عوامل التشغيل الحسابية

لا يمكن استخدام عوامل التشغيل البادئة مثل + أو - أو * أو / لإنشاء تعبيرات برمجة ذكية في Swift. بدلاً من ذلك، استخدِم عوامل التشغيل التي تقدّمها حزمة SDK، مثل Plus أو Minus.

إضافة

عامل التشغيل "جمع" .plus( )

مثال على لغة وصف البيانات

var totalCount = 0
...
totalCount = totalCount.plus(1)

طرح

عامل الطرح .minus( )

مثال على لغة وصف البيانات

var countdown = 10
...
countdown = countdown.minus(1)

ضرب

عامل الضرب .multiply( )

مثال على لغة وصف البيانات

val millis = seconds.multiply(1000)

قسمة

عامل القسمة .divide( )

مثال على لغة وصف البيانات

val rpm = revolutions.divide(minutes)

العوامل المنطقية

و

يجمع بين تعبيرَين في تعبير منطقي "و"، ويُقيّم بـ true عندما يكون كلا التعبيرَين true.

مثال
التعبير 1 التعبير 2 النتيجة
false false false
true false false
false true false
true true true

مثال على لغة وصف البيانات

condition {
  let exp1 = armState.armState
  let exp2 = doorLockState.lockState
  exp1.and(exp2)
}

ليس

ينفي القيمة المنطقية لتعبير معيّن.

مثال
التعبير النتيجة
true false
false true

مثال على لغة وصف البيانات

condition {
  let exp1 = armState.armState
  let exp2 = doorLockState.lockState
  exp1.and(exp2.not())
}

أو

تجمع بين تعبيرَين في تعبير منطقي "أو".

مثال
التعبير 1 التعبير 2 النتيجة
false false false
true false true
false true true

مثال على لغة وصف البيانات

condition {
  let exp1 = doorLockState.lockState.equals(.unlocked)
  let exp2 = contactSensorState.stateValue.equals(false)
  exp1.or(exp2)
}