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

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

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

import GoogleHomeSDK

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

बीच में

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

बराबर

अगर एक्सप्रेशन 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 में, ऑटोमेशन एक्सप्रेशन बनाने के लिए, इनफ़िक्स ऑपरेटर (जैसे, +, -, *, या /) इस्तेमाल नहीं किए जा सकते. इसके बजाय, एसडीके से मिले ऑपरेटर इस्तेमाल करें. जैसे, 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)
}