Ich versuche, einige Swift-Code in Javascript zu konvertieren, aber haben eine Beule getroffen, weil ich nicht weiß, was einige dieser Operatoren in Swift tun, so kann ich es nicht in seine analoge Javascript-Form konvertieren . Hier ist der Code:Swift Betreiber Erklärung
private var portMasks = [UInt8](count: 3, repeatedValue: 0)
var newMask = UInt8(newState.rawValue * Int(powf(2, Float(pinIndex))))
portMasks[Int(port)] &= ~(1 << pinIndex) //prep the saved mask by zeroing this pin's corresponding bit
newMask |= portMasks[Int(port)] //merge with saved port state
portMasks[Int(port)] = newMask
data1 = newMask<<1; data1 >>= 1 //remove MSB
data2 = newMask >> 7 //use data1's MSB as data2's LSB
Wo pinIndex
haben port
definiert bereits und sind sowohl UInt8
.
Ich bin nicht auf der Suche nach der tatsächlichen Umwandlung - ich kann das selbst tun. Ich suche nur nach einer Erklärung dessen, was jede dieser Zeilen von einem mathematischen/programmatischen Standpunkt aus tut.
Alle Swift-Operatoren sind in der Referenz ausführlich dokumentiert: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html#//apple_ref/doc/uid/TP40014097-CH27 -ID28. –
Danke für diesen Link! Es hat einige der Operatoren, aber es fehlt '>> =' und '| =' –
Sie haben keine Frage zu Swift gestellt, bevor Sie nicht wenigstens die Dokumentation durchforsteten, oder? :) –