这一行给出了语法错误:
if @array.include?('cat') && not @array.include?('dog')
有什么想法吗?
答案 0 :(得分:6)
这样做:
if @array.include?('cat') && ! @array.include?('dog')
!
和not
大致相同,但不能互换使用。
对于好奇:在ruby解析器中实际上存在某种怪癖,使得它无法解释像这样的表达式,即使它们在理论上是可解析的和声音。
可以解析这些:
not true && true
true && not(true)
但这些不能:
true && not true
true && not (true)
请注意,最后一个仅在(
之前的额外空格中有所不同!