Полагаю, это прямой переход от Perl. Операторы or
и and
были добавлены позже в Perl 5 для особых ситуаций, в которых желателен более низкий приоритет.
Например, в Perl мы хотим, чтобы ||
имел более низкий приоритет, чтобы мы могли написать:
try to perform big long hairy complicated action || die ;
и будьте уверены, что ||
не собирался сожрать часть действия. Именно для этой цели Perl 5 представил or
, новую версию ||
, которая имеет низкий приоритет.
Пример в Ruby, где вы можете использовать or
, но не ||
:
value = possibly_false or raise "foo"
Если вы используете ||
, это будет синтаксическая ошибка.