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)
}