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