2

这一行给了我一个语法错误:

if @array.include?('cat') && not @array.include?('dog')

有任何想法吗?

4

1 回答 1

6

做这个:

if @array.include?('cat') && ! @array.include?('dog')

!并且not做大部分相同的事情,但不能完全互换使用。

对于好奇的人:实际上,ruby 解析器中存在某种怪癖,使其无法解释像这样的表达式,即使它们在理论上是可解析的并且是合理的。

这些可以解析:

not true && true
true && not(true)

但这些不能:

true && not true
true && not (true)

请注意,最后一个仅在前面的额外空间中有所不同(

于 2012-04-10T00:54:28.757 回答