Ключевое слово эксклюзивное или рубиновое?

Я столкнулся с проблемой, потому bool что оператор '^' действует bool побитово для чисел,

true ^ 1
=> false

1 ^ true
TypeError: can't convert true into Integer
true ^ 1

поэтому xor мой обходной путь был:

( !!a ^ !!b ), где boolean-expression двойной удар переводит их boolean-expression в логические значения.

!!1 ^ !!true
=> false

!!1 ^ !!false
=> true

ruby

boolean

xor

2022-09-21T20:12:35+00:00