تسمح لك عوامل التشغيل بالتحقّق من قيمة سمات السمات مقارنةً بقيمة
معيّنة، ومقارنتها ببعضها البعض، ودمج التعبيرات المستخدَمة في عُقد
condition
.
تتوفّر عوامل التشغيل من خلال عبارات import
التالية:
import com.google.home.automation.and
import com.google.home.automation.between
import com.google.home.automation.contains
import com.google.home.automation.equals
import com.google.home.automation.greaterThan
import com.google.home.automation.greaterThanOrEquals
import com.google.home.automation.lessThan
import com.google.home.automation.not
import com.google.home.automation.notEquals
import com.google.home.automation.or
عوامل تشغيل المقارنة
بين
يتم تقييمها على أنّها true
عندما تكون قيمة التعبير 1 بين قيمة التعبير
2 والتعبير 3 (شاملة). يتم ترتيب التعبيرات بشكل مختلف استنادًا إلى نوع بياناتها. يتم ترتيب أنواع البيانات البسيطة، مثل الأرقام والسلاسل، بالطريقة
نفسها في Kotlin.
التعبير 1 | التعبير 2 | التعبير 3 | النتيجة |
---|---|---|---|
6 |
1 |
3 |
false |
2 |
1 |
3 |
true |
مثال على لغة وصف البيانات
val time = stateReader<_>(structure, Time)
condition() {
expression = time.currentTime
.between(
time.sunsetTime,
time.sunriseTime)
}
يساوي
يتم تقييمها على أنّها true
عندما يساوي التعبير 1 التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
false |
2 |
2 |
true |
مثال على لغة وصف البيانات
washer.operationalState equals STOPPED
greaterThan
يتم تقييمها على أنّها true
عندما يكون التعبير 1 أكبر من التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
true |
1 |
6 |
false |
مثال على لغة وصف البيانات
( blindsPosition.currentPositionLift greaterThan 0u )
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 |
مثال على لغة الترميز المخصّصة للبيانات
time.currentTime lessThan LocalTime.of(22,0,0,0)
lessThanOrEquals
يتم تقييمها على أنّها true
عندما يكون التعبير 1 أقل من أو يساوي التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
8 |
6 |
false |
6 |
6 |
true |
1 |
6 |
true |
مثال على لغة الترميز المخصّصة للبيانات
( starterNode.measuredValue lessThanOrEquals 25 )
notEquals
يتم تقييمها على أنّها true
عندما لا يكون التعبير 1 مساويًا للتعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
true |
1 |
6 |
true |
2 |
2 |
false |
مثال على لغة وصف البيانات
occupancyStateChange.occupied notEquals 0
عوامل التشغيل الحسابية
إضافة
عامل التشغيل "الإضافة" ( +
).
مثال على لغة الترميز المخصّصة للبيانات
var totalCount = 0
...
totalCount = totalCount + 1
طرح
عامل الطرح ( -
).
مثال على لغة الترميز المخصّصة للبيانات
var countdown = 10
...
countdown = countdown - 1
ضرب
عامل التشغيل الضرب ( *
).
مثال على لغة الترميز المخصّصة للبيانات
val millis = seconds * 1000
قسمة
عامل القسمة ( /
).
مثال على لغة الترميز المخصّصة للبيانات
val rpm = revolutions / minutes
عوامل التشغيل المنطقية
و
تجمع بين تعبيرَين في تعبير منطقي "و"، وتُقيّم بـ true
عندما يكون كلا التعبيرَين true
.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
false |
false |
false |
true |
false |
false |
false |
true |
false |
true |
true |
true |
مثال على لغة وصف البيانات
((device.occupied notEquals 0) and
time.currentTime.between(time.sunriseTime, time.sunsetTime))
ليس
تُنِف القيمة المنطقية لتعبير معيّن.
التعبير | النتيجة |
---|---|
true |
false |
false |
true |
مثال على لغة الترميز المخصّصة للبيانات
time.currentTime not (between(time.sunriseTime, time.sunsetTime))
أو
تجمع بين تعبيرَين في تعبير منطقي "أو".
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
false |
false |
false |
true |
false |
true |
false |
true |
true |
مثال على لغة وصف البيانات
(time.currentTime equals LocalTime.of(10,0,0,0)) or
(time.currentTime equals LocalTime.of(22,0,0,0))