有人可以解释`不“`在ruby?
我记得在某个地方读书not
和!
被评估不同,我不能在ruby文档中find它。 这是真的? 他们是同义词吗?
好的答案应该引用文件。
他们几乎是同义词,但不完全。 不同之处在于!
具有更高的优先级,非常像&&
和||
比and
和or
更高的优先级。
!
具有所有运算符的最高优先级,而not
最低的优先级,您可以在Ruby文档中find完整的表 。
举个例子,考虑一下:
!true && false => false not true && false => true
在第一个例子中!
具有最高优先级,所以你有效地说false && false
。
在第二个例子中, not
比true && false
的更低的优先级,所以这个“ true && false
”开关“ true
。
一般的指导方针似乎是你应该坚持!
,除非你有特定的理由不使用。 !
在Ruby中与大多数其他语言的行为相同,并且“不那么令人惊讶”。