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

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

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

import GoogleHomeSDK

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

بين

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

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

مثال على DSL

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

مثال على DSL

lightOnOffState.onOff.equals(true)

greaterThan

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

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

مثال على DSL

// 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

مثال على DSL

starterNode.measuredValue.greaterThanOrEquals(50)

lessThan

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

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

مثال على DSL

// 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

مثال على DSL

starterNode.measuredValue.lessThanOrEquals(50)

notEquals

تكون القيمة true عندما لا يكون "التعبير 1" مساويًا لـ "التعبير 2".

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

مثال على DSL

occupancySensorStarter.occupancy.notEquals(.occupied)

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

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

إضافة

عامل الإضافة .plus( )

مثال على DSL

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

طرح

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

مثال على DSL

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

ضرب

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

مثال على DSL

val millis = seconds.multiply(1000)

قسمة

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

مثال على DSL

val rpm = revolutions.divide(minutes)

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

و

يجمع بين تعبيرَين في تعبير منطقي AND، وتكون القيمة true عندما يكون كلا التعبيرين true.

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

مثال على DSL

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

ليس

يعكس القيمة المنطقية لتعبير.

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

مثال على DSL

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

أو

يجمع بين تعبيرَين في تعبير منطقي OR.

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

مثال على DSL

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