iOS डीएसएल ऑपरेटर का रेफ़रंस

ऑपरेटर की मदद से, किसी खास वैल्यू के हिसाब से, ट्रेट एट्रिब्यूट की वैल्यू की जांच की जा सकती है. साथ ही, उनकी तुलना एक-दूसरे से की जा सकती है. इसके अलावा, condition नोड में इस्तेमाल किए गए एक्सप्रेशन को एक साथ जोड़ा जा सकता है.

ऑपरेटर, इन import स्टेटमेंट के ज़रिए उपलब्ध कराए जाते हैं:

import GoogleHomeSDK

तुलना करने वाले ऑपरेटर

बीच में

एक्सप्रेशन 1 की वैल्यू, एक्सप्रेशन 2 और एक्सप्रेशन 3 (दोनों शामिल हैं) के बीच होने पर, इसका आकलन true के तौर पर किया जाता है. एक्सप्रेशन को उनके डेटा टाइप के आधार पर अलग-अलग रैंक किया जाता है. नंबर और स्ट्रिंग जैसे सामान्य डेटा टाइप को उसी तरह रैंक किया जाता है जिस तरह 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)
}

बराबर

जब एक्सप्रेशन 1, एक्सप्रेशन 2 के बराबर होता है, तब इसकी वैल्यू true होती है.

उदाहरण
एक्सप्रेशन 1 एक्सप्रेशन 2 नतीजा
6 1 false
2 2 true

डीएसएल का उदाहरण

lightOnOffState.onOff.equals(true)

greaterThan

एक्सप्रेशन 1, एक्सप्रेशन 2 से बड़ा होने पर, इसकी वैल्यू true होती है.

उदाहरण
एक्सप्रेशन 1 एक्सप्रेशन 2 नतीजा
6 1 true
1 6 false

डीएसएल का उदाहरण

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

greaterThanOrEquals

अगर एक्सप्रेशन 1, एक्सप्रेशन 2 से बड़ा या उसके बराबर है, तो इस फ़ंक्शन का नतीजा true होता है.

उदाहरण
एक्सप्रेशन 1 एक्सप्रेशन 2 नतीजा
8 6 true
6 6 true
1 6 false

डीएसएल का उदाहरण

starterNode.measuredValue.greaterThanOrEquals(50)

lessThan

एक्सप्रेशन 1, एक्सप्रेशन 2 से कम होने पर, इस फ़ंक्शन की वैल्यू true होती है.

उदाहरण
एक्सप्रेशन 1 एक्सप्रेशन 2 नतीजा
6 1 false
1 6 true

डीएसएल का उदाहरण

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

lessThanOrEquals

अगर एक्सप्रेशन 1 की वैल्यू, एक्सप्रेशन 2 की वैल्यू से कम या इसके बराबर है, तो इस फ़ंक्शन का नतीजा true होता है.

उदाहरण
एक्सप्रेशन 1 एक्सप्रेशन 2 नतीजा
8 6 false
6 6 true
1 6 true

डीएसएल का उदाहरण

starterNode.measuredValue.lessThanOrEquals(50)

notEquals

जब एक्सप्रेशन 1, एक्सप्रेशन 2 के बराबर नहीं होता है, तब इसकी वैल्यू true होती है.

उदाहरण
एक्सप्रेशन 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)

तार्किक ऑपरेटर

और

यह फ़ंक्शन, लॉजिकल AND एक्सप्रेशन में दो एक्सप्रेशन को जोड़ता है. दोनों एक्सप्रेशन 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())
}

या

इस फ़ंक्शन का इस्तेमाल, दो एक्सप्रेशन को लॉजिकल OR एक्सप्रेशन में जोड़ने के लिए किया जाता है.

उदाहरण
एक्सप्रेशन 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)
}