做这个:
if @array.include?('cat') && ! @array.include?('dog')
!
并且not
做大部分相同的事情,但不能完全互换使用。
对于好奇的人:实际上,ruby 解析器中存在某种怪癖,使其无法解释像这样的表达式,即使它们在理论上是可解析的并且是合理的。
这些可以解析:
not true && true
true && not(true)
但这些不能:
true && not true
true && not (true)
请注意,最后一个仅在前面的额外空间中有所不同(
!