2011-08-23 5 views

risposta

32

È un bitwise XOR operator.

Per ogni bit nella rappresentazione binaria degli operandi, un bit XOR otterrà un bit 1 se uno dei bit corrispondenti operandi è 1, ma non entrambe, altrimenti la XOR sarà prendi un 0 bit. Ecco un esempio:

5  = 101 
6  = 110 
5^6 = 011 = 3 
+3

Tanto vale scrivere binario in Ruby, cioè '0b101',' 0b110' ... –

+0

Non ero consapevole del fatto che in realtà Ruby ha letterali binari, dal momento che io non sono un rubino dev :) –

+0

Grazie, mi ha aiutato a decifrare questa stupidità che ho trovato nel codice di qualcuno: 'if (blocchi [blockname]^invertBlock) o consts ['Type'] == blockname' – Jason