只是想知道是否有人有任何真实世界的例子,或者知道何时可以使用NOT,AND,OR,XOR,<<,>> Ruby中的运算符。
我已经编程了4年,从来没有遇到过使用其中任何一种的需要,想知道实际使用情况是多么常见。如果它是我应该完全理解的东西。
谢谢, -J
答案 0 :(得分:1)
xor
(又名^
),<<
和>>
更常用于较低级别的编程。 C程序员将非常熟悉这些操作。我目前正在Ruby中编写一个模拟器,并且经常在6502内核中使用<<
和>>
,因为它具有1字节字大小但是2字节pc。例如,您需要进行位移以将pc保存到堆栈中。
not
,and
和or
分别是!
,&&
和||
的变体。它们的工作方式相同,但对它们周围的变量进行“更松散的绑定”。它们的使用(至少在实践中)是允许编写具有较少parens的表达式。我相信Rails实际上禁止在他们自己的代码库中完全使用这些运算符,因为他们对它们的工作方式存在误解。
答案 1 :(得分:1)
在an answer to another question中,我被迫做了一些小事,以解决String#unpack
/ Array#pack
对API中缺少的功能。它使用左移(<<
)和按位 - 或(|
)。