22
1^1
# => 0
1^2
# => 3
5^6
# => 3
Oto wyniki, które otrzymuję. Czy ktoś może wyjaśnić, jak działa ^
?Używanie symbolu karetki (^) w Rubiu
1^1
# => 0
1^2
# => 3
5^6
# => 3
Oto wyniki, które otrzymuję. Czy ktoś może wyjaśnić, jak działa ^
?Używanie symbolu karetki (^) w Rubiu
dla każdego bitu w binarnej reprezentacji argumentów, bitowym XOR dostanie 1 bit, jeśli jeden z odpowiednich bitów argumentów ma wartość 1, ale nie oba, w przeciwnym razie XOR będzie uzyskać 0 bit. Oto przykład:
5 = 101
6 = 110
5^6 = 011 = 3
Równie dobrze można napisać binarny w Ruby, czyli ',' 0b110' 0b101' ... –
nie byłem świadomy, że faktycznie Ruby ma literały binarnych, ponieważ nie jestem Ruby dev :) –
Dzięki, pomógł mi odszyfrować tę głupotę, którą znalazłem w czyimś kodzie: 'if (blokuje [nazwa bloku]^invertBlock) lub consts ['Type'] == blockname' – Jason