ruby - "a && not b"给出语法错误?

标签 ruby

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

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

有什么想法吗?

最佳答案

这样做:

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

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

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

这些可以被解析:

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

但这些不能:

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

请注意,最后一个只是在 (!

之前的额外空间不同

关于ruby - "a && not b"给出语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081712/

相关文章:

ruby - 如何在 Ruby 中使用 BFS 存储 map 和生成图形

Ruby Mechanize 在响应中忽略 cookie

ruby - 无法在 Ruby : uninitialized constant (NameError) 中将一个类包含到另一个类中

ruby - 在 Ruby DBI 模块中与 postgresql 进行 ssl 通信

ruby - 将数据结构转换为其他数据结构

jquery - Rails3 Paperclip JCrop 进入循环

Ruby - 获取正在执行的文件

javascript - 使用 Javascript 变量存储来自 <%= %> 的 Ruby 输出

ruby-on-rails - 在 Rails 4 中播种内容文本的最佳方式

javascript - 无法使用 Ajax 接收 Rails 响应