В Ruby, где использовать операции NOT, AND, OR, XOR для Fixnum или Bignum? - PullRequest
0 голосов
/ 14 мая 2010

Просто интересно, есть ли у кого-нибудь примеры из реального мира или вы знаете, когда вы можете использовать операторы NOT, AND, OR, XOR, <<, >> в Ruby.

Я занимаюсь программированием 4 года и никогда не сталкивался с необходимостью использовать что-либо из этого, задаваясь вопросом, насколько распространено реальное использование и если это то, что я должен полностью понять.

Спасибо, -J

Ответы [ 2 ]

1 голос
/ 14 мая 2010

В ответе на другой вопрос , я был вынужден немного поработать, чтобы обойти отсутствующую функцию в паре String#unpack / Array#pack API. Он использует сдвиг влево (<<) и побитовый или (|).

1 голос
/ 14 мая 2010

xor (он же ^), << и >> чаще используются в низкоуровневом программировании. Программист C будет хорошо знаком с тем, что они делают. В настоящее время я пишу эмулятор на Ruby и часто использую << и >> в ядре 6502 из-за таких вещей, как размер слова в 1 байт, но в компьютере 2 байта. Вам нужно сделать сдвиг битов, чтобы сохранить компьютер в стек, например.

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

...