xor
(он же ^
), <<
и >>
чаще используются в низкоуровневом программировании. Программист C будет хорошо знаком с тем, что они делают. В настоящее время я пишу эмулятор на Ruby и часто использую <<
и >>
в ядре 6502 из-за таких вещей, как размер слова в 1 байт, но в компьютере 2 байта. Вам нужно сделать сдвиг битов, чтобы сохранить компьютер в стек, например.
not
, and
и or
являются вариациями !
, &&
и ||
соответственно. Они работают одинаково, но имеют «более слабую привязку» к переменным вокруг них. Их использование (по крайней мере, на практике) позволяет писать выражения с меньшим количеством паренов. Я полагаю, что Rails фактически запрещает использование этих операторов полностью в своей собственной кодовой базе из-за недопонимания того, как они работают.