تتيح لك عوامل التشغيل التحقّق من قيمة سمات السمات مقارنةً بقيمة
معيّنة، ومقارنتها ببعضها، ودمج التعبيرات المستخدَمة في عُقد
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)
}